From f297fc58f7fe42e75ac0e20d0c418576f09793da Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Tue, 11 Dec 2018 16:09:45 +0800 Subject: [PATCH 01/10] Fix vertical border color --- libs/control.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/control.js b/libs/control.js index f29c0361..3be65956 100644 --- a/libs/control.js +++ b/libs/control.js @@ -2896,11 +2896,11 @@ control.prototype.updateGlobalAttribute = function (name) { var border = '3px ' + attribute[name] + ' solid'; core.dom.statusBar.style.borderTop = border; core.dom.statusBar.style.borderLeft = border; - core.dom.statusBar.style.borderRight = core.domStyle.isVertical?'':border; + core.dom.statusBar.style.borderRight = core.domStyle.isVertical?border:''; core.dom.gameDraw.style.border = border; core.dom.toolBar.style.borderBottom = border; core.dom.toolBar.style.borderLeft = border; - core.dom.toolBar.style.borderRight = core.domStyle.isVertical?'':border; + core.dom.toolBar.style.borderRight = core.domStyle.isVertical?border:''; break; } case 'statusBarColor': From 0fc267be14cfade5ed0ff5cf78839e3cdfa4a166 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Tue, 11 Dec 2018 16:17:08 +0800 Subject: [PATCH 02/10] Update icons.png --- project/images/icons.png | Bin 25694 -> 25438 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/project/images/icons.png b/project/images/icons.png index c5a383c617a6b21df8fb0b916fc229b5579c1da3..ec1e2d4587c5bcea53f3151908601b303ec80e66 100644 GIT binary patch literal 25438 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 literal 25694 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 Ws&$Lm2>(wI1Q|(1i3)K;|Nj9$A)18% From 93dceaa7b8cee68825a4c945ff79618de05fd54c Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Tue, 11 Dec 2018 16:47:21 +0800 Subject: [PATCH 03/10] resetMap & fix autotileObjs in load --- docs/api.md | 6 +++++- libs/maps.js | 19 +++++++++---------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/docs/api.md b/docs/api.md index 559f810a..7ea7b61c 100644 --- a/docs/api.md +++ b/docs/api.md @@ -135,11 +135,15 @@ core.changeFloor('MT5', null, {'x': 3, 'y': 6}, 0) 无动画切换到MT5层的(3 core.resetMap() -重置当前楼层地图。 +重置当前楼层地图和楼层属性。 当我们修改某一层地图后,进游戏读档,会发现修改的内容并没有被更新上去。 这是因为,H5的存档是会存下来每一个楼层的地图的,读档会从档里面获得地图信息。 此时,如果我们在某一层地图执行 core.resetMap() ,则可以立刻从剧本中读取并重置当前楼层地图。 已经被修改过的内容也会相应出现。 +此函数参数有三种形式: + - 不加任何参数,表示重置当前层:core.resetMap() + - 加上一个floorId,表示重置某一层:core.resetMap("MT1") + - 使用一个数组,表示重置若干层:core.resetMap(["MT1", "MT2", "MT3"]) R diff --git a/libs/maps.js b/libs/maps.js index 2c9c5f83..4d8ac72d 100644 --- a/libs/maps.js +++ b/libs/maps.js @@ -476,7 +476,7 @@ maps.prototype.drawBgFgMap = function (floorId, canvas, name, animate) { } } } - core.status.autotileAnimateObjs[name+"map"] = core.clone(arr); + if (animate) core.status.autotileAnimateObjs[name+"map"] = core.clone(arr); } ////// 绘制某张地图 ////// @@ -1449,13 +1449,12 @@ maps.prototype.setBgFgMap = function (type, name, loc, floorId, callback) { maps.prototype.resetMap = function(floorId) { floorId = floorId || core.status.floorId; if (!core.isset(floorId)) return; - core.status.maps[floorId] = this.loadFloor(floorId); - if (floorId==core.status.floorId) { - this.drawMap(floorId, function () { - core.drawTip("地图重置成功"); - }) - } - else { - core.drawTip(floorId+"地图重置成功"); - } + if (typeof floorId == 'string') floorId = [floorId]; + var needRefresh = false; + floorId.forEach(function (t) { + core.status.maps[t] = core.maps.loadFloor(t); + if (t == core.status.floorId) needRefresh = true; + }); + if (needRefresh) this.drawMap(core.status.floorId); + core.drawTip("地图重置成功"); } \ No newline at end of file From 25cdc2324dab20d05557eb8940320f9e2587e466 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Tue, 11 Dec 2018 17:21:23 +0800 Subject: [PATCH 04/10] blockly Int_0 --- _server/blockly/MotaAction.g4 | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/_server/blockly/MotaAction.g4 b/_server/blockly/MotaAction.g4 index 5f44aef1..edd7d58e 100644 --- a/_server/blockly/MotaAction.g4 +++ b/_server/blockly/MotaAction.g4 @@ -524,7 +524,7 @@ if (EvalString_0 && EvalString_1) { floorstr = ', "loc": ['+EvalString_0.join(',')+']'; } IdString_0 = IdString_0 && (', "floorId": "'+IdString_0+'"'); -Int_0 = Int_0 ?(', "time": '+Int_0):''; +Int_0 = Int_0!=='' ?(', "time": '+Int_0):''; Bool_0 = Bool_0 ?', "async": true':''; var code = '{"type": "show"'+floorstr+IdString_0+''+Int_0+Bool_0+'},\n'; return code; @@ -557,7 +557,7 @@ if (EvalString_0 && EvalString_1) { floorstr = ', "loc": ['+EvalString_0.join(',')+']'; } IdString_0 = IdString_0 && (', "floorId": "'+IdString_0+'"'); -Int_0 = Int_0 ?(', "time": '+Int_0):''; +Int_0 = Int_0!=='' ?(', "time": '+Int_0):''; Bool_0 = Bool_0 ?', "async": true':''; var code = '{"type": "hide"'+floorstr+IdString_0+''+Int_0+Bool_0+'},\n'; return code; @@ -1131,10 +1131,10 @@ var limit = function(v,min,max) { return v; } Number_0 = limit(Number_0,0,255); -Number_1 = limit(Number_1,0,255); +Number_1 = limit(Number_1,0,255);A Number_2 = limit(Number_2,0,255); Number_3 = limit(Number_3,0,1); -Int_0 = Int_0 ?(', "time": '+Int_0):''; +Int_0 = Int_0!=='' ?(', "time": '+Int_0):''; var async = Bool_0?', "async": true':''; var code = '{"type": "setFg", "color": ['+Number_0+','+Number_1+','+Number_2+','+Number_3+']'+Int_0 +async+'},\n'; return code; @@ -1149,7 +1149,7 @@ tooltip : setFg: 恢复画面色调,动画时间可不填 helpUrl : https://h5mota.com/games/template/docs/#/event?id=setfg%EF%BC%9A%E6%9B%B4%E6%94%B9%E7%94%BB%E9%9D%A2%E8%89%B2%E8%B0%83 default : [500,false] colour : this.soundColor -Int_0 = Int_0 ?(', "time": '+Int_0):''; +Int_0 = Int_0!=='' ?(', "time": '+Int_0):''; var async = Bool_0?', "async": true':''; var code = '{"type": "setFg"'+Int_0 +async+'},\n'; return code; @@ -1183,7 +1183,7 @@ var floorstr = ''; if (PosString_0 && PosString_1) { floorstr = ', "loc": ['+PosString_0+','+PosString_1+']'; } -Int_0 = Int_0 ?(', "time": '+Int_0):''; +Int_0 = Int_0!=='' ?(', "time": '+Int_0):''; Bool_0 = Bool_0?', "keep": true':''; Bool_1 = Bool_1?', "async": true':''; var code = '{"type": "move"'+floorstr+Int_0+Bool_0+Bool_1+', "steps": '+JSON.stringify(StepString_0)+'},\n'; @@ -1199,7 +1199,7 @@ tooltip : moveHero:移动勇士,用这种方式移动勇士的过程中将无 helpUrl : https://h5mota.com/games/template/docs/#/event?id=movehero%EF%BC%9A%E7%A7%BB%E5%8A%A8%E5%8B%87%E5%A3%AB default : [500,false,"上右3下2左上左2"] colour : this.dataColor -Int_0 = Int_0 ?(', "time": '+Int_0):''; +Int_0 = Int_0!=='' ?(', "time": '+Int_0):''; Bool_0 = Bool_0?', "async": true':''; var code = '{"type": "moveHero"'+Int_0+Bool_0+', "steps": '+JSON.stringify(StepString_0)+'},\n'; return code; @@ -1221,7 +1221,7 @@ if (PosString_0 && PosString_1) { if (PosString_2 && PosString_3) { floorstr += ', "to": ['+PosString_2+','+PosString_3+']'; } -Int_0 = Int_0 ?(', "time": '+Int_0):''; +Int_0 = Int_0!=='' ?(', "time": '+Int_0):''; Bool_0 = Bool_0?', "keep": true':''; Bool_1 = Bool_1?', "async": true':''; var code = '{"type": "jump"'+floorstr+''+Int_0+Bool_0+Bool_1+'},\n'; @@ -1241,7 +1241,7 @@ var floorstr = ''; if (PosString_0 && PosString_1) { floorstr = ', "loc": ['+PosString_0+','+PosString_1+']'; } -Int_0 = Int_0 ?(', "time": '+Int_0):''; +Int_0 = Int_0!=='' ?(', "time": '+Int_0):''; Bool_0 = Bool_0?', "async": true':''; var code = '{"type": "jumpHero"'+floorstr+Int_0+Bool_0+'},\n'; return code; @@ -1306,7 +1306,7 @@ tooltip : setVolume: 设置音量 helpUrl : https://h5mota.com/games/template/docs/#/event?id=setvolume%EF%BC%9A%E8%AE%BE%E7%BD%AE%E9%9F%B3%E9%87%8F default : [90, 500, false] colour : this.soundColor -Int_1 = Int_1?(', "time": '+Int_1):"" +Int_1 = Int_1!==''?(', "time": '+Int_1):"" var async = Bool_0?', "async": true':''; var code = '{"type": "setVolume", "value": '+Int_0+Int_1+async+'},\n'; return code; @@ -1917,9 +1917,8 @@ ActionParser.prototype.parseAction = function() { this.EvalString(data.text),this.next]); break; case "autoText": // 自动剧情文本 - data.time=this.isset(data.time)?data.time:MotaActionBlocks['autoText_s'].fieldDefault[3]; this.next = MotaActionBlocks['autoText_s'].xmlText([ - '','','',data.time||0,this.EvalString(data.text),this.next]); + '','','',data.time,this.EvalString(data.text),this.next]); break; case "scrollText": this.next = MotaActionBlocks['scrollText_s'].xmlText([ From 2a855900555b217f7dae937a7155ded7ad6b7a59 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Tue, 11 Dec 2018 17:22:22 +0800 Subject: [PATCH 05/10] blockly Int_0 --- _server/blockly/MotaAction.g4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_server/blockly/MotaAction.g4 b/_server/blockly/MotaAction.g4 index edd7d58e..5b681deb 100644 --- a/_server/blockly/MotaAction.g4 +++ b/_server/blockly/MotaAction.g4 @@ -1131,7 +1131,7 @@ var limit = function(v,min,max) { return v; } Number_0 = limit(Number_0,0,255); -Number_1 = limit(Number_1,0,255);A +Number_1 = limit(Number_1,0,255); Number_2 = limit(Number_2,0,255); Number_3 = limit(Number_3,0,1); Int_0 = Int_0!=='' ?(', "time": '+Int_0):''; From 64a0f0a6aaec62d24906b4e76cdbaad8e6160164 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Tue, 11 Dec 2018 18:52:51 +0800 Subject: [PATCH 06/10] Fix item & core.status.event.data --- libs/items.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libs/items.js b/libs/items.js index fcba3daa..f8a7bfc1 100644 --- a/libs/items.js +++ b/libs/items.js @@ -91,6 +91,7 @@ items.prototype.useItem = function (itemId, callback) { delete core.status.hero.items[itemCls][itemId]; core.updateStatusBar(); + core.status.event.data = null; if (core.isset(callback)) callback(); } @@ -100,16 +101,18 @@ items.prototype.canUseItem = function (itemId) { // 没有道具 if (!core.hasItem(itemId)) return false; + var able = false; if (itemId in this.canUseItemEffect) { try { - return eval(this.canUseItemEffect[itemId]); + able = eval(this.canUseItemEffect[itemId]); } catch (e) { console.log(e); } } + if (!able) core.status.event.data = null; - return false; + return able; } ////// 获得某个物品的个数 ////// From 0d587ac712b2d6d152ca810222b92a2bae8e89e2 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Tue, 11 Dec 2018 19:44:00 +0800 Subject: [PATCH 07/10] reset status bar on restart --- libs/control.js | 1 + 1 file changed, 1 insertion(+) diff --git a/libs/control.js b/libs/control.js index 3be65956..64db5a3d 100644 --- a/libs/control.js +++ b/libs/control.js @@ -397,6 +397,7 @@ control.prototype.resetStatus = function(hero, hard, floorId, route, maps, value else core.values = core.clone(core.data.values); core.events.initGame(); + this.updateGlobalAttribute(Object.keys(core.status.globalAttribute)); core.status.played = true; } From b646c1cb3e080014bbb68665d9d0437aa2118fd4 Mon Sep 17 00:00:00 2001 From: oc Date: Tue, 11 Dec 2018 23:28:00 +0800 Subject: [PATCH 08/10] firstArrive before eachArrive --- _server/comment.js | 2 +- libs/events.js | 2 +- project/functions.js | 11 +++++++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/_server/comment.js b/_server/comment.js index 9577712f..c38b6cd9 100644 --- a/_server/comment.js +++ b/_server/comment.js @@ -334,7 +334,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = "_leaf": true, "_type": "event", "_event": "eachArrive", - "_data": "每次到该楼层触发的事件,可以双击进入事件编辑器;该事件会比firstArrive先执行。" + "_data": "每次到该楼层触发的事件,可以双击进入事件编辑器;该事件会在firstArrive执行后再执行。" }, "parallelDo": { "_leaf": true, diff --git a/libs/events.js b/libs/events.js index 97fb8201..7588fbaa 100644 --- a/libs/events.js +++ b/libs/events.js @@ -117,7 +117,7 @@ events.prototype.startGame = function (hard, seed, route, callback) { core.changeFloor(core.firstData.floorId, null, nowLoc, null, function() { if (core.isset(callback)) callback(); - }, true); + }); setTimeout(function () { // Upload diff --git a/project/functions.js b/project/functions.js index d2ffbc3e..21852685 100644 --- a/project/functions.js +++ b/project/functions.js @@ -87,16 +87,19 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = "afterChangeFloor": function (floorId, fromLoad) { // 转换楼层结束的事件 // floorId是切换到的楼层;fromLoad若为true则代表是从读档行为造成的楼层切换 + + // 每次抵达楼层时执行的事件 + if (!fromLoad) { + core.insertAction(core.floors[floorId].eachArrive); + } + + // 首次抵达楼层时执行的事件(后插入,先执行) var visited = core.getFlag("__visited__", []); if (visited.indexOf(floorId)===-1) { core.insertAction(core.floors[floorId].firstArrive); visited.push(floorId); core.setFlag("__visited__", visited); } - // 每次抵达楼层时执行的事件 - if (!fromLoad) { - core.insertAction(core.floors[floorId].eachArrive); - } }, "addPoint": function (enemy) { // 加点事件 From 7671a925862473a527e23a64d2425dda78ad98d1 Mon Sep 17 00:00:00 2001 From: oc Date: Wed, 12 Dec 2018 12:41:57 +0800 Subject: [PATCH 09/10] formatBigNumber --- docs/api.md | 2 +- libs/control.js | 8 ++++---- libs/core.js | 4 ++-- libs/ui.js | 8 ++++---- libs/utils.js | 18 +++++++++++++----- 5 files changed, 24 insertions(+), 16 deletions(-) diff --git a/docs/api.md b/docs/api.md index 7ea7b61c..bba4bba2 100644 --- a/docs/api.md +++ b/docs/api.md @@ -504,7 +504,7 @@ core.utils.decodeBase64(str) Base64解密字符串 -core.utils.formatBigNumber(x) +core.utils.formatBigNumber(x, onMap) 大数据的格式化 diff --git a/libs/control.js b/libs/control.js index 64db5a3d..399f0adf 100644 --- a/libs/control.js +++ b/libs/control.js @@ -1374,7 +1374,7 @@ control.prototype.snipe = function (snipes) { else if (damage < core.status.hero.hp) color = '#FF7F00'; else color = '#FF0000'; - damage = core.formatBigNumber(damage); + damage = core.formatBigNumber(damage, true); if (core.enemys.hasSpecial(core.material.enemys[block.event.id], 19)) damage += "+"; if (core.enemys.hasSpecial(core.material.enemys[block.event.id], 21)) @@ -1623,7 +1623,7 @@ control.prototype.updateDamage = function (floorId, canvas) { else if (damage < hero_hp * 2 / 3) color = '#FFFF00'; else if (damage < hero_hp) color = '#FF7F00'; else color = '#FF0000'; - damage = core.formatBigNumber(damage); + damage = core.formatBigNumber(damage, true); if (core.enemys.hasSpecial(core.material.enemys[id], 19)) damage += "+"; if (core.enemys.hasSpecial(core.material.enemys[id], 21)) @@ -1646,7 +1646,7 @@ control.prototype.updateDamage = function (floorId, canvas) { if (core.flags.displayCritical) { var critical = core.enemys.nextCriticals(id); if (critical.length>0) critical=critical[0]; - critical = core.formatBigNumber(critical[0]); + critical = core.formatBigNumber(critical[0], true); if (critical == '???') critical = '?'; canvas.fillStyle = '#000000'; canvas.fillText(critical, 32 * x + 2, 32 * (y + 1) - 2 - 10); @@ -1678,7 +1678,7 @@ control.prototype.updateDamage = function (floorId, canvas) { for (var y=0;y0) { - damage = core.formatBigNumber(damage); + damage = core.formatBigNumber(damage, true); canvas.fillStyle = '#000000'; canvas.fillText(damage, 32 * x + 17, 32 * (y + 1) - 13); canvas.fillText(damage, 32 * x + 15, 32 * (y + 1) - 15); diff --git a/libs/core.js b/libs/core.js index b77b0288..b25d05ba 100644 --- a/libs/core.js +++ b/libs/core.js @@ -1037,8 +1037,8 @@ core.prototype.formatDate2 = function (date) { } ////// 格式化大数 ////// -core.prototype.formatBigNumber = function (x) { - return core.utils.formatBigNumber(x); +core.prototype.formatBigNumber = function (x, onMap) { + return core.utils.formatBigNumber(x, onMap); } ////// 两位数显示 ////// diff --git a/libs/ui.js b/libs/ui.js index a620dfb6..0f60f6db 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -2225,8 +2225,8 @@ ui.prototype.drawSLPanel = function(index, refresh) { core.strokeRect('ui', (2*i+1)*u-size/2, 45, size, size, i==offset?strokeColor:'#FFFFFF', i==offset?6:2); if (core.isset(data) && core.isset(data.floorId)) { core.ui.drawThumbnail(data.floorId, 'ui', core.maps.load(data.maps, data.floorId).blocks, (2*i+1)*u-size/2, 45, size, data.hero.loc.x, data.hero.loc.y, data.hero.loc, data.hero.flags.heroIcon||"hero.png"); - var v = core.formatBigNumber(data.hero.hp)+"/"+core.formatBigNumber(data.hero.atk)+"/"+core.formatBigNumber(data.hero.def); - var v2 = "/"+core.formatBigNumber(data.hero.mdef); + var v = core.formatBigNumber(data.hero.hp,true)+"/"+core.formatBigNumber(data.hero.atk,true)+"/"+core.formatBigNumber(data.hero.def,true); + var v2 = "/"+core.formatBigNumber(data.hero.mdef,true); if (v.length+v2.length<=21) v+=v2; core.fillText('ui', v, (2*i+1)*u, 60+size, '#FFD700', '10px '+globalFont); core.fillText('ui', core.formatDate(new Date(data.time)), (2*i+1)*u, 73+size, data.hero.flags.consoleOpened?'#FF6A6A':'#FFFFFF'); @@ -2241,8 +2241,8 @@ ui.prototype.drawSLPanel = function(index, refresh) { core.strokeRect('ui', (2*i-5)*u-size/2, 233, size, size, i==offset?strokeColor:'#FFFFFF', i==offset?6:2); if (core.isset(data) && core.isset(data.floorId)) { core.ui.drawThumbnail(data.floorId, 'ui', core.maps.load(data.maps, data.floorId).blocks, (2*i-5)*u-size/2, 233, size, data.hero.loc.x, data.hero.loc.y, data.hero.loc, data.hero.flags.heroIcon||"hero.png"); - var v = core.formatBigNumber(data.hero.hp)+"/"+core.formatBigNumber(data.hero.atk)+"/"+core.formatBigNumber(data.hero.def); - var v2 = "/"+core.formatBigNumber(data.hero.mdef); + var v = core.formatBigNumber(data.hero.hp,true)+"/"+core.formatBigNumber(data.hero.atk,true)+"/"+core.formatBigNumber(data.hero.def,true); + var v2 = "/"+core.formatBigNumber(data.hero.mdef,true); if (v.length+v2.length<=21) v+=v2; core.fillText('ui', v, (2*i-5)*u, 248+size, '#FFD700', '10px '+globalFont); core.fillText('ui', core.formatDate(new Date(data.time)), (2*i-5)*u, 261+size, data.hero.flags.consoleOpened?'#FF6A6A':'#FFFFFF', '10px '+globalFont); diff --git a/libs/utils.js b/libs/utils.js index b5dcdd2e..e7ba2f23 100644 --- a/libs/utils.js +++ b/libs/utils.js @@ -297,14 +297,14 @@ utils.prototype.setTwoDigits = function (x) { return parseInt(x)<10?"0"+x:x; } -utils.prototype.formatBigNumber = function (x) { +utils.prototype.formatBigNumber = function (x, onMap) { x = Math.floor(parseFloat(x)); if (!core.isset(x)) return '???'; var c = x<0?"-":""; x = Math.abs(x); - if (x<=999999) return c + x; + if (x<=99999 || (!onMap && x<=999999)) return c + x; var all = [ {"val": 1e20, "c": "g"}, @@ -316,9 +316,17 @@ utils.prototype.formatBigNumber = function (x) { for (var i=0;i=10*one.val) { - var v = x/one.val; - return c + v.toFixed(Math.max(0, Math.floor(4-Math.log10(v+1)))) + one.c; + if (onMap) { + if (x>=one.val) { + var v = x/one.val; + return c + v.toFixed(Math.max(0, Math.floor(3-Math.log10(v+1)))) + one.c; + } + } + else { + if (x>=10*one.val) { + var v = x/one.val; + return c + v.toFixed(Math.max(0, Math.floor(4-Math.log10(v+1)))) + one.c; + } } } From ccb89e422fcb70da9eac8dd9d486a26d10b5eb5a Mon Sep 17 00:00:00 2001 From: oc Date: Wed, 12 Dec 2018 16:19:42 +0800 Subject: [PATCH 10/10] setInterval time & load statusBar --- libs/control.js | 19 +++++++++---------- libs/events.js | 20 ++++++++++---------- libs/maps.js | 9 +++++---- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/libs/control.js b/libs/control.js index 399f0adf..dc23bb33 100644 --- a/libs/control.js +++ b/libs/control.js @@ -354,9 +354,6 @@ control.prototype.resetStatus = function(hero, hard, floorId, route, maps, value // 清除游戏数据 core.clearStatus(); - // 显示状态栏 - core.control.triggerStatusBar("show"); - // 初始化status core.status = core.clone(core.initStatus); // 初始化maps @@ -398,6 +395,7 @@ control.prototype.resetStatus = function(hero, hard, floorId, route, maps, value core.events.initGame(); this.updateGlobalAttribute(Object.keys(core.status.globalAttribute)); + this.triggerStatusBar(core.getFlag('hideStatusBar', false)?'hide':'show'); core.status.played = true; } @@ -1556,15 +1554,15 @@ control.prototype.setFg = function(color, time, callback) { return; } - var step=0; - // core.status.replay.animate=true; + var per_time = 10, step=0, steps = parseInt(time / per_time); + var changeAnimate = setInterval(function() { step++; - var nowA = fromColor[3]+(color[3]-fromColor[3])*step/25; - var nowR = parseInt(fromColor[0]+(color[0]-fromColor[0])*step/25); - var nowG = parseInt(fromColor[1]+(color[1]-fromColor[1])*step/25); - var nowB = parseInt(fromColor[2]+(color[2]-fromColor[2])*step/25); + var nowA = fromColor[3]+(color[3]-fromColor[3])*step/steps; + var nowR = parseInt(fromColor[0]+(color[0]-fromColor[0])*step/steps); + var nowG = parseInt(fromColor[1]+(color[1]-fromColor[1])*step/steps); + var nowB = parseInt(fromColor[2]+(color[2]-fromColor[2])*step/steps); core.clearMap('curtain'); core.fillRect('curtain', 0, 0, 416, 416, core.arrayToRGBA([nowR,nowG,nowB,nowA])); @@ -1575,7 +1573,7 @@ control.prototype.setFg = function(color, time, callback) { // core.status.replay.animate=false; if (core.isset(callback)) callback(); } - }, time/25/core.status.replay.speed); + }, per_time); core.animateFrame.asyncId[changeAnimate] = true; } @@ -2832,6 +2830,7 @@ control.prototype.triggerStatusBar = function (name) { var statusItems = core.dom.status; var toolItems = core.dom.tools; core.domStyle.showStatusBar = name == 'show'; + core.setFlag('hideStatusBar', core.domStyle.showStatusBar?null:true); if (!core.domStyle.showStatusBar) { for (var i = 0; i < statusItems.length; ++i) statusItems[i].style.opacity = 0; diff --git a/libs/events.js b/libs/events.js index 7588fbaa..f17e8529 100644 --- a/libs/events.js +++ b/libs/events.js @@ -1575,10 +1575,11 @@ events.prototype.animateImage = function (type, image, loc, time, keep, callback core.canvas.data.drawImage(image, x, y); core.setAlpha('data', 1); - // core.status.replay.animate=true; + var per_time = 10, steps = parseInt(time / per_time), delta = 1 / steps; + var animate = setInterval(function () { - if (type=='show') alpha += 0.1; - else alpha -= 0.1; + if (type=='show') alpha += delta; + else alpha -= delta; core.clearMap('data', x, y, image.width, image.height); if (alpha >=1 || alpha<=0) { delete core.animateFrame.asyncId[animate]; @@ -1593,7 +1594,7 @@ events.prototype.animateImage = function (type, image, loc, time, keep, callback core.canvas.data.drawImage(image, x, y); core.setAlpha('data', 1); } - }, time / 10); + }, per_time); core.animateFrame.asyncId[animate] = true; } @@ -1653,21 +1654,20 @@ events.prototype.setVolume = function (value, time, callback) { if (core.isset(callback)) callback(); return; } - // core.status.replay.animate=true; + var currVolume = core.musicStatus.volume; - var step = 0; + var per_time = 10, step = 0, steps = parseInt(time / per_time); var fade = setInterval(function () { step++; - var nowVolume = currVolume+(value-currVolume)*step/32; + var nowVolume = currVolume+(value-currVolume)*step/steps; set(nowVolume); - if (step>=32) { + if (step>=steps) { delete core.animateFrame.asyncId[fade]; clearInterval(fade); - // core.status.replay.animate=false; if (core.isset(callback)) callback(); } - }, time / 32); + }, per_time); core.animateFrame.asyncId[fade] = true; } diff --git a/libs/maps.js b/libs/maps.js index 4d8ac72d..12865f76 100644 --- a/libs/maps.js +++ b/libs/maps.js @@ -1091,9 +1091,10 @@ maps.prototype.animateBlock = function (loc,type,time,callback) { core.setAlpha('route', alpha); draw(); - var animate = window.setInterval(function () { - if (type=='show') alpha += 0.1; - else alpha -= 0.1; + var per_time = 10, steps = parseInt(time / per_time), delta = 1 / steps; + var animate = setInterval(function () { + if (type=='show') alpha += delta; + else alpha -= delta; clear(); if (alpha >=1 || alpha<=0) { delete core.animateFrame.asyncId[animate]; @@ -1115,7 +1116,7 @@ maps.prototype.animateBlock = function (loc,type,time,callback) { core.setAlpha('route', alpha); draw(); } - }, time / 10 / core.status.replay.speed); + }, per_time); core.animateFrame.asyncId[animate] = true; }