diff --git a/project/data.js b/project/data.js index 6dff00f..0845278 100644 --- a/project/data.js +++ b/project/data.js @@ -207,6 +207,11 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "00003.png", "00004.png", "00005.png", + "008-Line02.png", + "009-Random01.png", + "010-Random02.png", + "013-Square01.png", + "020-Flat01.png", "0cheating.png", "0easy.png", "0hard.png", @@ -259,6 +264,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "black.png", "brave.png", "caidan.png", + "caidan_grayscale.png", "cheating.png", "d.png", "dibu.png", @@ -353,12 +359,14 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "shengfen.png", "shengxiao.png", "shijian.png", + "shijuexiaoguo_kuanpingheibian.png", "shu.png", "status.png", "status2.png", "tawaijiuren.png", "terrains.png", "tiantawai.png", + "tr003.jpg", "wangyangdan.png", "wangyangqianxiao.png", "wangyangyouyu.png", diff --git a/project/floors/MT10.js b/project/floors/MT10.js index 2efa8da..cc9e2e7 100644 --- a/project/floors/MT10.js +++ b/project/floors/MT10.js @@ -100,7 +100,7 @@ main.floors.MT10= null ], "loc": [ - 80, + 300, 50, "291.2", "466.4" @@ -185,17 +185,6 @@ main.floors.MT10= "code": 2, "time": 0 }, - { - "type": "setCurtain", - "color": [ - 0, - 0, - 0, - 1 - ], - "time": 500, - "keep": true - }, { "type": "setVolume", "value": 0, @@ -214,6 +203,10 @@ main.floors.MT10= "type": "hide", "time": 0 }, + { + "type": "function", + "function": "function(){\ncore.maskPrepare();\n}" + }, { "type": "changeFloor", "floorId": "huxiao1", @@ -236,6 +229,20 @@ main.floors.MT10= } ], "1,0": [ + { + "type": "setValue", + "name": "flag:Memories_grayscale", + "value": "false" + }, + { + "type": "setGlobalAttribute", + "name": "borderColor", + "value": "204,204,204,1" + }, + { + "type": "function", + "function": "function(){\ncore.maskFliter(500,'013-Square01.png')\n}" + }, { "type": "playBgm", "name": "misjiqing.mp3" @@ -244,6 +251,26 @@ main.floors.MT10= "type": "if", "condition": "(flag:skip10FStory != 1)", "true": [ + { + "type": "setText", + "position": "down", + "offset": 0, + "align": "left", + "title": [ + 255, + 255, + 255, + 1 + ], + "text": [ + 255, + 255, + 255, + 1 + ], + "background": "winskin.png", + "time": 20 + }, { "type": "setCurtain", "color": [ @@ -277,7 +304,7 @@ main.floors.MT10= "opacity": 1, "time": 0 }, - "\t[邵虎]怎么了.......快说啊.......", + "\t[邵虎]怎么了......快说啊......", { "type": "hideImage", "code": 1, @@ -312,7 +339,7 @@ main.floors.MT10= "type": "sleep", "time": 1000 }, - "\t[嗜骨].....公主被擒........联盟的计划有变.....如果天枢一战........将是我们妖社翻身的时候.......", + "\t[嗜骨]......公主被擒.....联盟的计划有变...\n如果天枢一战......将是我们妖社翻身的时候....", { "type": "sleep", "time": 1000 diff --git a/project/floors/huxiao1.js b/project/floors/huxiao1.js index c9c1dc8..beab574 100644 --- a/project/floors/huxiao1.js +++ b/project/floors/huxiao1.js @@ -10,7 +10,7 @@ main.floors.huxiao1= { "name": "huxiao1.png", "canvas": "bg", - "x": 0, + "x": 32, "y": 0 } ], @@ -19,75 +19,102 @@ main.floors.huxiao1= "events": { "1,0": [ { - "type": "setCurtain", - "time": 500 + "type": "showImage2", + "code": 1, + "image": "shijuexiaoguo_kuanpingheibian.png", + "sloc": [ + 0, + 0, + null + ], + "loc": [ + 0, + 0, + null + ], + "opacity": 1, + "time": 0 + }, + { + "type": "function", + "function": "function(){\ncore.maskFliter(500,'013-Square01.png')\n}" + }, + { + "type": "comment", + "text": "仿RM渐变" + }, + { + "type": "setValue", + "name": "flag:Memories_grayscale", + "value": "ture" + }, + { + "type": "comment", + "text": "卷轴灰度" }, { "type": "setText", - "position": "up", + "position": "down", + "offset": -24, + "align": "left", "background": [ 0, 0, 0, - 1 - ] - }, - "\r[red]从今天起,嗜骨,你就是我们妖社的中坚力量了。", - "\r[red]你很好强,各方面素质都很不错。", - "\r[red]我相信你能够胜任你的位置。", - "\r[purple]魔龙大人!我嗜骨就算天打雷劈也要严守岗位!", - "\r[purple]不论来者是强还是弱!只要我还有口气在!", - "\r[purple]就绝对不允许联盟和外人对我们妖社不利!", - "\r[purple].........", - "\r[red]........但愿吧。", - "\r[red]嗜骨........你知道我们为什么要暗地与联盟作时吗", - "\r[purple]....这.......因为他们是........", - "\r[red]不........天塔本身就不是为了我们魔物而建造的。", - "\r[red]建造天塔的本性在于封印【那个人】", - "\r[red]我们只是在天塔里后出现的罢了。", - "\r[purple].............", - "\r[red]刚开始我们魔物族群很弱小...........", - "\r[red]【那个人】本来是主张把我们赶尽杀绝的。", - "\r[purple]........啊.........", - "\r[red]....但她阻止了他......并救下了奄奄一息的我。", - "\r[purple].....您在说...谁?她.....是谁?", - "\r[red]她是个善良的人.......我不想让她卷入这场纷争。", - "\r[purple]...........", - "\r[red]如果没有她..........恐怕现在天塔就不会是这个样子......", - "\r[red]..........", - "\r[red]你现在知道我们妖社为什么要暗地与联盟做对了吧?", - "\r[purple.........", - "\r[purple]......因为我们魔物也要生存.........", - "\r[purple]我们必须有足够抗衡联盟的力量才行.......", - "\r[red]没错........现在联盟并不把主要心思放在我们身上", - "\r[red]这正是我们拓展地位的好时机。", - "\r[purple]啊...他们关注的是......天枢城么......", - "\r[red]没错.....嗜骨......你了解到肩上的重任了吧。", - "\r[red]你的那几句保证......可不能只是说说而已啊......", - "\r[purple]........", - "\r[red].....对了......在这里还习惯吧?", - "\r[red]和毒尾相处的如何?", - "\r[purple].......", - "\r[purple]......这个........还好吧。。", - "\r[red]......呵呵,别急。终究要在一起生活。", - "\r[red]......互相理解和包容,毕竟才是最重要的。", - "\r[purple].....是.......", - "\r[red].......对了.......还有一个问题,必须提醒你一下。", - "\r[red]你在天塔上面一定会受到海骑士的管制吧", - "\r[red]要小心点那个家伙.....", - "\r[red]那家伙精得很,别说漏了什么......", - "\r[purple]魔龙大人请放心,我一定不辜负您的重托!", - { - "type": "setCurtain", - "color": [ - 0, - 0, - 0, - 1 + 0 ], - "time": 500, - "keep": true + "textfont": 20 }, + { + "type": "setGlobalAttribute", + "name": "borderColor", + "value": "null" + }, + "\r[#fb928b]从今天起,嗜骨,你就是我们妖社的中坚力量了。", + "\r[#fb928b]你很好强,各方面素质都很不错。", + "\r[#fb928b]我相信你能够胜任你的位置。", + "\r[#f49af1]魔龙大人!我嗜骨就算天打雷劈也要严守岗位!", + "\r[#f49af1]不论来者是强还是弱!只要我还有口气在!", + "\r[#f49af1]就绝对不允许联盟和外人对我们妖社不利!", + "\r[#f49af1].........", + "\r[#fb928b]........但愿吧。", + "\r[#fb928b]嗜骨........你知道我们为什么要暗地与联盟作时吗", + "\r[#f49af1]....这.......因为他们是........", + "\r[#fb928b]不........天塔本身就不是为了我们魔物而建造的。", + "\r[#fb928b]建造天塔的本性在于封印【那个人】", + "\r[#fb928b]我们只是在天塔里后出现的罢了。", + "\r[#f49af1].............", + "\r[#fb928b]刚开始我们魔物族群很弱小...........", + "\r[#fb928b]【那个人】本来是主张把我们赶尽杀绝的。", + "\r[#f49af1]........啊.........", + "\r[#fb928b]....但她阻止了他......并救下了奄奄一息的我。", + "\r[#f49af1].....您在说...谁?她.....是谁?", + "\r[#fb928b]她是个善良的人.......我不想让她卷入这场纷争。", + "\r[#f49af1]...........", + "\r[#fb928b]如果没有她..........恐怕现在天塔就不会是这个样子......", + "\r[#fb928b]..........", + "\r[#fb928b]你现在知道我们妖社为什么要暗地与联盟做对了吧?", + "\r[#f49af1].........", + "\r[#f49af1]......因为我们魔物也要生存.........", + "\r[#f49af1]我们必须有足够抗衡联盟的力量才行.......", + "\r[#fb928b]没错........现在联盟并不把主要心思放在我们身上", + "\r[#fb928b]这正是我们拓展地位的好时机。", + "\r[#f49af1]啊...他们关注的是......天枢城么......", + "\r[#fb928b]没错.....嗜骨......你了解到肩上的重任了吧。", + "\r[#fb928b]你的那几句保证......可不能只是说说而已啊......", + "\r[#f49af1]........", + "\r[#fb928b].....对了......在这里还习惯吧?", + "\r[#fb928b]和毒尾相处的如何?", + "\r[#f49af1].......", + "\r[#f49af1]......这个........还好吧。。", + "\r[#fb928b]......呵呵,别急。终究要在一起生活。", + "\r[#fb928b]......互相理解和包容,毕竟才是最重要的。", + "\r[#f49af1].....是.......", + "\r[#fb928b].......对了.......还有一个问题,必须提醒你一下。", + "\r[#fb928b]你在天塔上面一定会受到海骑士的管制吧", + "\r[#fb928b]要小心点那个家伙.....", + "\r[#fb928b]那家伙精得很,别说漏了什么......", + "\r[#f49af1]魔龙大人请放心,我一定不辜负您的重托!", { "type": "changeFloor", "floorId": "huxiao2", diff --git a/project/floors/huxiao2.js b/project/floors/huxiao2.js index 40d4cc1..c0de0fc 100644 --- a/project/floors/huxiao2.js +++ b/project/floors/huxiao2.js @@ -10,7 +10,7 @@ main.floors.huxiao2= { "name": "huxiao2.png", "canvas": "bg", - "x": 0, + "x": 32, "y": 0 } ], @@ -22,43 +22,43 @@ main.floors.huxiao2= "type": "setCurtain", "time": 500 }, - "\r[purple]毒尾..........你怎么又背着我喝那种东西........", - "\r[green]没事的嗜骨......只有喝下这个.......才能让自己的毒性更强啊........", - "\r[purple]你给我.........不要喝了......", - "\r[purple]你难道不知道你的是你的寿命......", - "\r[purple]喝的是你的时间吗!!!?", - "\r[purple]你难道就不为了你身边的人想想?", - "\r[purple]血尾呢?你们关系不是最好了吗?", - "\r[green]别说了嗜骨,我的寿命与妖社的利益来讲根本不值一提..........", - "\r[green]我这条命都是魔龙大人给的......我还有什么遗憾呢?", - "\r[purple]我呢?我呢?", - "\r[purple]不是还有我吗!!!", - "\r[purple]每天陪你的人,每天能和你在一起你说话,能每天一起玩闹解闷的人,不是还有我吗..", - "\r[purple]你为什么一点都不为我想想呢.......?", - "\r[green].........对不起嗜骨........", - "\r[green]我.........我不是不了解你的意思.......", - "\r[purple]...........", - "\r[green]你也好.......血尾也罢.........", - "\r[green]都是我最亲的人........都是我不能放弃的人........", - "\r[green]但是我真的没办法接受你的关心........真的..........", - "\r[purple]............毒尾..........", - "\r[green]对我来说,这种关心,比我现在手中的毒药还要毒", - "\r[green].........但是........我又何尝不明白.......", - "\r[green]我有时好恨.......恨自己要背上这么沉重的担子", - "\r[green]..........大概魔龙大人也一样吧........", - "\r[green].........心里也跟我想的一般吧.........", - "\r[green]........可是拿什么放弃.........", - "\r[green]........难道为了一份可有可无的关心.........", - "\r[green]......就放弃自己曾经坚持那么久的事业吗!", - "\r[purple](可有可无)", - "\r[purple](是这样的吗)", - "\r[purple]不", - "\r[purple]不是这样的", - "\r[purple]不是这样的...........", - "\r[green].......嗜骨.......谢谢你......", - "\r[purple]...........毒尾你.........", - "\r[green](咕噜咕噜......)......", - "\r[purple]...........(我什么都做不了)........", + "\r[#f49af1]毒尾..........你怎么又背着我喝那种东西........", + "\r[#87e291]没事的嗜骨......只有喝下这个.......才能让自己的毒性更强啊........", + "\r[#f49af1]你给我.........不要喝了......", + "\r[#f49af1]你难道不知道你的是你的寿命......", + "\r[#f49af1]喝的是你的时间吗!!!?", + "\r[#f49af1]你难道就不为了你身边的人想想?", + "\r[#f49af1]血尾呢?你们关系不是最好了吗?", + "\r[#87e291]别说了嗜骨,我的寿命与妖社的利益来讲根本不值一提..........", + "\r[#87e291]我这条命都是魔龙大人给的......我还有什么遗憾呢?", + "\r[#f49af1]我呢?我呢?", + "\r[#f49af1]不是还有我吗!!!", + "\r[#f49af1]每天陪你的人,每天能和你在一起你说话,能每天一起玩闹解闷的人,不是还有我吗..", + "\r[#f49af1]你为什么一点都不为我想想呢.......?", + "\r[#87e291].........对不起嗜骨........", + "\r[#87e291]我.........我不是不了解你的意思.......", + "\r[#f49af1]...........", + "\r[#87e291]你也好.......血尾也罢.........", + "\r[#87e291]都是我最亲的人........都是我不能放弃的人........", + "\r[#87e291]但是我真的没办法接受你的关心........真的..........", + "\r[#f49af1]............毒尾..........", + "\r[#87e291]对我来说,这种关心,比我现在手中的毒药还要毒", + "\r[#87e291].........但是........我又何尝不明白.......", + "\r[#87e291]我有时好恨.......恨自己要背上这么沉重的担子", + "\r[#87e291]..........大概魔龙大人也一样吧........", + "\r[#87e291].........心里也跟我想的一般吧.........", + "\r[#87e291]........可是拿什么放弃.........", + "\r[#87e291]........难道为了一份可有可无的关心.........", + "\r[#87e291]......就放弃自己曾经坚持那么久的事业吗!", + "\r[#f49af1](可有可无)", + "\r[#f49af1](是这样的吗)", + "\r[#f49af1]不", + "\r[#f49af1]不是这样的", + "\r[#f49af1]不是这样的...........", + "\r[#87e291].......嗜骨.......谢谢你......", + "\r[#f49af1]...........毒尾你.........", + "\r[#87e291](咕噜咕噜......)......", + "\r[#f49af1]...........(我什么都做不了)........", { "type": "setCurtain", "color": [ diff --git a/project/floors/huxiao3.js b/project/floors/huxiao3.js index 143db20..fa47d5a 100644 --- a/project/floors/huxiao3.js +++ b/project/floors/huxiao3.js @@ -10,7 +10,7 @@ main.floors.huxiao3= { "name": "huxiao3.png", "canvas": "bg", - "x": 0, + "x": 32, "y": 0 } ], @@ -22,48 +22,46 @@ main.floors.huxiao3= "type": "setCurtain", "time": 500 }, - "\r[green]海骑士大人..........您就行行好吧...........", - "\r[blue]毒尾,你回去吧。", - "\r[blue]那件事不可能的,你也不用求我了。", - "\r[green].......求求您了海骑士大人.........", - "\r[green].......我从来没有这么求过一个人........", - "\r[green]求求您教血尾一命吧.......她是我唯一的姐妹了", - "\r[green]我求求您海骑士大人.......我求求您", - "\r[green]只有您才能救她她....我求求您跟戾骑士说说好话吧", - "\r[green]求您了海骑士大人........", - "\r[green]求求您了.........", - "\r[blue]...........", - "\r[blue]..........毒尾........这事我没法帮你。", - "\r[green]可是海骑士大人........只有您能劝得了戾骑士", - "\r[green].......只有您能从戾骑士的手中把血尾救出来", - "\r[green].......血尾是我唯一的亲人了.......", - "\r[green].......我不能失去她......真的不能........", - "\r[green]看在我为您效劳这么多年的份上您就帮我这一次吧", - "\r[green]我求求您海骑士大人......求求您了.........", - "\r[green].......求求您了求求您了...........", - "\r[blue]不用再说了,毒尾你可以回去了。", - "\r[green]海骑士大人您不能这样.........", - "\r[green]我这么忠心耿耿..........为了联盟的利益.......", - "\r[blue]少跟我说联盟的利益了......", - "\r[blue]赶快回去,不然我叫人赶你了。", - "\r[green]海骑士大人求求您救救血尾........", - "\r[green]救救她.....求你了.........", - "\r[purple](毒尾.....你又何必去求他呢........)", - "\r[purple](你平时不是最恨他了吗...........最讨厌他了吗...........)", - "\r[purple](你明明知道他不可能帮你.........)", - "\r[purple](.........你还要去求你最恨的人..........)", - "\r[purple](为什么.....)", - "\r[purple](毒尾.........)", + "\r[#87e291]海骑士大人..........您就行行好吧...........", + "\r[#9decf8]毒尾,你回去吧。", + "\r[#9decf8]那件事不可能的,你也不用求我了。", + "\r[#87e291].......求求您了海骑士大人.........", + "\r[#87e291].......我从来没有这么求过一个人........", + "\r[#87e291]求求您教血尾一命吧.......她是我唯一的姐妹了", + "\r[#87e291]我求求您海骑士大人.......我求求您", + "\r[#87e291]只有您才能救她她....我求求您跟戾骑士说说好话吧", + "\r[#87e291]求您了海骑士大人........", + "\r[#87e291]求求您了.........", + "\r[#9decf8]...........", + "\r[#9decf8]..........毒尾........这事我没法帮你。", + "\r[#87e291]可是海骑士大人........只有您能劝得了戾骑士", + "\r[#87e291].......只有您能从戾骑士的手中把血尾救出来", + "\r[#87e291].......血尾是我唯一的亲人了.......", + "\r[#87e291].......我不能失去她......真的不能........", + "\r[#87e291]看在我为您效劳这么多年的份上您就帮我这一次吧", + "\r[#87e291]我求求您海骑士大人......求求您了.........", + "\r[#87e291].......求求您了求求您了...........", + "\r[#9decf8]不用再说了,毒尾你可以回去了。", + "\r[#87e291]海骑士大人您不能这样.........", + "\r[#87e291]我这么忠心耿耿..........为了联盟的利益.......", + "\r[#9decf8]少跟我说联盟的利益了......", + "\r[#9decf8]赶快回去,不然我叫人赶你了。", + "\r[#87e291]海骑士大人求求您救救血尾........", + "\r[#87e291]救救她.....求你了.........", + "\r[#f49af1](毒尾.....你又何必去求他呢........)", + "\r[#f49af1](你平时不是最恨他了吗...........最讨厌他了吗...........)", + "\r[#f49af1](你明明知道他不可能帮你.........)", + "\r[#f49af1](.........你还要去求你最恨的人..........)", + "\r[#f49af1](为什么.....)", + "\r[#f49af1](毒尾.........)", { - "type": "setCurtain", - "color": [ - 255, - 255, - 255, - 1 - ], - "time": 500, - "keep": true + "type": "function", + "function": "function(){\ncore.maskPrepare();\n}" + }, + { + "type": "hideImage", + "code": 1, + "time": 0 }, { "type": "changeFloor", diff --git a/project/functions.js b/project/functions.js index ca03741..f0abd17 100644 --- a/project/functions.js +++ b/project/functions.js @@ -1,8 +1,7 @@ -/// -var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = +var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = { - "events": { - "resetGame": function (hero, hard, floorId, maps, values) { + "events": { + "resetGame": function (hero, hard, floorId, maps, values) { // 重置整个游戏;此函数将在游戏开始时,或者每次读档时最先被调用 // hero:勇士信息;hard:难度;floorId:当前楼层ID;maps:地图信息;values:全局数值信息 @@ -52,7 +51,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // 隐藏右下角的音乐按钮 core.dom.musicBtn.style.display = 'none'; }, - "win": function (reason, norank, noexit) { + "win": function (reason, norank, noexit) { // 游戏获胜事件 // 请注意,成绩统计时是按照hp进行上传并排名 // 可以先在这里对最终分数进行计算,比如将2倍攻击和5倍黄钥匙数量加到分数上 @@ -81,7 +80,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = }) }); }, - "lose": function (reason) { + "lose": function (reason) { // 游戏失败事件 core.ui.closePanel(); var replaying = core.isReplaying(); @@ -94,7 +93,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = }); }) }, - "changingFloor": function (floorId, heroLoc) { + "changingFloor": function (floorId, heroLoc) { // 正在切换楼层过程中执行的操作;此函数的执行时间是“屏幕完全变黑“的那一刻 // floorId为要切换到的楼层ID;heroLoc表示勇士切换到的位置 @@ -164,7 +163,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // ...可以新增一些其他内容,比如创建个画布在右上角显示什么内容等等 }, - "afterChangeFloor": function (floorId) { + "afterChangeFloor": function (floorId) { // 转换楼层结束的事件;此函数会在整个楼层切换完全结束后再执行 // floorId是切换到的楼层 @@ -183,7 +182,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = } } }, - "flyTo": function (toId, callback) { + "flyTo": function (toId, callback) { // 楼层传送器的使用,从当前楼层飞往toId // 如果不能飞行请返回false @@ -226,7 +225,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = return true; }, - "beforeBattle": function (enemyId, x, y) { + "beforeBattle": function (enemyId, x, y) { // 战斗前触发的事件,可以加上一些战前特效(详见下面支援的例子) // 此函数在“检测能否战斗和自动存档”【之后】执行。如果需要更早的战前事件,请在插件中覆重写 core.events.doSystemEvent 函数。 // 返回true则将继续战斗,返回false将不再战斗。 @@ -257,7 +256,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = return true; }, - "afterBattle": function (enemyId, x, y) { + "afterBattle": function (enemyId, x, y) { // 战斗结束后触发的事件 var enemy = core.material.enemys[enemyId]; @@ -429,7 +428,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = core.clearContinueAutomaticRoute(); }, - "afterOpenDoor": function (doorId, x, y) { + "afterOpenDoor": function (doorId, x, y) { // 开一个门后触发的事件 var todo = []; @@ -450,7 +449,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = else core.clearContinueAutomaticRoute(); }, - "afterGetItem": function (itemId, x, y, isGentleClick) { + "afterGetItem": function (itemId, x, y, isGentleClick) { // 获得一个道具后触发的事件 // itemId:获得的道具ID;x和y是该道具所在的坐标 // isGentleClick:是否是轻按触发的 @@ -472,7 +471,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = if (todo.length > 0) core.insertAction(todo, x, y); }, - "afterPushBox": function () { + "afterPushBox": function () { // 推箱子后的事件 if (core.searchBlock('box').length == 0) { // 可以通过if语句来进行开门操作 @@ -485,9 +484,9 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = */ } } - }, - "enemys": { - "getSpecials": function () { + }, + "enemys": { + "getSpecials": function () { // 获得怪物的特殊属性,每一行定义一个特殊属性。 // 分为五项,第一项为该特殊属性的数字,第二项为特殊属性的名字,第三项为特殊属性的描述 // 第四项为该特殊属性的颜色,可以写十六进制 #RRGGBB 或者 [r,g,b,a] 四元数组 @@ -523,7 +522,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = [27, "捕捉", function (enemy) { return "当走到怪物周围" + (enemy.zoneSquare ? "九宫格" : "十字") + "时会强制进行战斗。"; }, "#c0ddbb"] ]; }, - "getEnemyInfo": function (enemy, hero, x, y, floorId) { + "getEnemyInfo": function (enemy, hero, x, y, floorId) { // 获得某个怪物变化后的数据;该函数将被伤害计算和怪物手册使用 // 例如:坚固、模仿、仿攻等等 // @@ -646,7 +645,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = "guards": guards, // 返回支援情况 }; }, - "getDamageInfo": function (enemy, hero, x, y, floorId) { + "getDamageInfo": function (enemy, hero, x, y, floorId) { // 获得战斗伤害信息(实际伤害计算函数) // // 参数说明: @@ -804,9 +803,9 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = "damage": Math.floor(damage) }; } - }, - "actions": { - "onKeyUp": function (keyCode, altKey) { + }, + "actions": { + "onKeyUp": function (keyCode, altKey) { // 键盘按键处理,可以在这里自定义快捷键列表 // keyCode:当前按键的keyCode(每个键的keyCode自行百度) // altKey:Alt键是否被按下,为true代表同时按下了Alt键 @@ -987,7 +986,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = } }, - "onStatusBarClick": function (px, py, vertical) { + "onStatusBarClick": function (px, py, vertical) { // 点击状态栏时触发的事件,仅在自绘状态栏开启时生效 // px和py为点击的像素坐标 // vertical为录像播放过程中的横竖屏信息 @@ -1055,9 +1054,9 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = */ } - }, - "control": { - "saveData": function () { + }, + "control": { + "saveData": function () { // 存档操作,此函数应该返回“具体要存档的内容” // 差异化存储values @@ -1082,7 +1081,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = return data; }, - "loadData": function (data, callback) { + "loadData": function (data, callback) { // 读档操作;从存储中读取了内容后的行为 // 重置游戏和路线 @@ -1122,7 +1121,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = }); core.plugin.donghuas(); }, - "getStatusLabel": function (name) { + "getStatusLabel": function (name) { // 返回某个状态英文名的对应中文标签,如atk -> 攻击,def -> 防御等。 // 请注意此项仅影响 libs/ 下的内容(如绘制怪物手册、数据统计等) // 自行定义的(比如获得道具效果)中用到的“攻击+3”等需要自己去对应地方修改 @@ -1143,7 +1142,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = steps: "步数", }[name] || name; }, - "triggerDebuff": function (action, type) { + "triggerDebuff": function (action, type) { // 毒衰咒效果的获得与解除 // action:获得还是解除;'get'表示获得,'remove'表示解除 // type:一个数组表示获得了哪些毒衰咒效果;poison, weak,curse @@ -1201,7 +1200,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = if (success) core.playSound('回血'); } }, - "updateStatusBar": function () { + "updateStatusBar": function () { // 更新状态栏 // 检查等级 @@ -1285,7 +1284,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // updateDamage只能在此处执行!!更新全地图显伤 core.updateDamage(); }, - "updateCheckBlock": function (floorId) { + "updateCheckBlock": function (floorId) { // 领域、夹击、阻击等的伤害值计算 floorId = floorId || core.status.floorId; if (!floorId || !core.status.maps) return; @@ -1496,7 +1495,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = cache: {} // clear cache }; }, - "moveOneStep": function (callback) { + "moveOneStep": function (callback) { // 勇士每走一步后执行的操作。callback为行走完毕后的回调 // 这个函数执行在“刚走完”的时候,即还没有检查该点的事件和领域伤害等。 // 请注意:瞬间移动不会执行该函数。如果要控制能否瞬间移动有三种方法: @@ -1559,7 +1558,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // 如需强行终止行走可以在这里条件判定: // core.stopAutomaticRoute(); }, - "moveDirectly": function (x, y, ignoreSteps) { + "moveDirectly": function (x, y, ignoreSteps) { // 瞬间移动;x,y为要瞬间移动的点;ignoreSteps为减少的步数,可能之前已经被计算过 // 返回true代表成功瞬移,false代表没有成功瞬移 @@ -1598,7 +1597,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = } return false; }, - "parallelDo": function (timestamp) { + "parallelDo": function (timestamp) { // 并行事件处理,可以在这里写任何需要并行处理的脚本或事件 // 该函数将被系统反复执行,每次执行间隔视浏览器或设备性能而定,一般约为16.6ms一次 // 参数timestamp为“从游戏资源加载完毕到当前函数执行时”的时间差,以毫秒为单位 @@ -1615,9 +1614,9 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = } } } - }, - "ui": { - "getToolboxItems": function (cls) { + }, + "ui": { + "getToolboxItems": function (cls) { // 获得道具栏中当前某类型道具的显示项和显示顺序 // cls为道具类型,只可能是 tools, constants 和 equips // 返回一个数组,代表当前某类型道具的显示内容和顺序 @@ -1627,100 +1626,111 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = .filter(function (id) { return !core.material.items[id].hideInToolbox; }) .sort( /*function (id1, id2) { return core.material.items[id1].name <= core.material.items[id2].name ? -1 : 1 }*/); }, - "drawStatusBar": function () { - if (!core.status.floorId) return; - if (core.status.floorId == 'nandu') core.clearMap('caidan'); - else core.drawImage('caidan','caidan.png',-161,0); - core.dom.caidan1Ctx.drawImage(core.material.images.images['caidan.png'],0,0) - var ctx, fill = function (text, x, y, style) { - core.ui.setFont(ctx, /*(/\w+/.test(text) ? 'italic ' : '') + */'21px fzchyjw'); - core.ui.fillText(ctx, text, x, y, style); - }, fill1 = function (text, x, y, style) { - core.ui.setFont(ctx, '10px fzchyjw'); - core.ui.fillText(ctx, text, x, y, style); - }; - if (core.flags.statusCanvas) { // 系统开关「自绘状态栏」开启 - core.ui.clearMap(ctx = core.dom.statusCanvasCtx); // 清空状态栏 - core.ui.setFillStyle(ctx, core.status.globalAttribute.statusBarColor); - if (core.domStyle.isVertical) { // 竖屏 - core.drawImage(ctx, core.statusBar.icons.floor, 6, 6, 25, 25); - fill((core.status.thisMap || {}).name || "Loading", 42, 26); - core.drawImage(ctx, core.statusBar.icons.hp, 137, 6, 25, 25); - fill(core.formatBigNumber(core.getRealStatus('hp')), 173, 26); - core.drawImage(ctx, core.statusBar.icons.atk, 268, 6, 25, 25); - fill(core.formatBigNumber(core.getRealStatus('atk')), 304, 26); - core.drawImage(ctx, core.statusBar.icons.def, 6, 38, 25, 25); - fill(core.formatBigNumber(core.getRealStatus('def')), 42, 58); - core.drawImage(ctx, core.statusBar.icons.mdef, 137, 38, 25, 25); - fill(core.formatBigNumber(core.getRealStatus('mdef')), 173, 58); - core.drawImage(ctx, core.statusBar.icons.money, 268, 38, 25, 25); - fill(core.formatBigNumber(core.status.hero.money), 304, 58); - core.drawImage(ctx, core.statusBar.icons.exp, 6, 70, 25, 25); - fill(core.formatBigNumber(core.status.hero.exp), 42, 90); - } else if (!core.flags.extendToolbar) { // 横屏且未隐藏状态栏 - core.drawImage(ctx, core.material.images.images[flags.hard == 4 ? 'status.png' : 'status2.png'],0,63); - core.drawImage(ctx, core.statusBar.icons.floor, 124, 24, 32, 32); - ctx.textAlign = 'left'; - fill((core.status.thisMap || {}).title || "Loading", 0, 49, '#000000'); - //core.drawImage(ctx, core.statusBar.icons.hp, 6, 43, 25, 25); - ctx.textAlign = 'right'; - fill(core.formatBigNumber(core.getRealStatus('hp')), 107, 91, '#000000'); - //core.drawImage(ctx, core.statusBar.icons.atk, 6, 77, 25, 25); - fill(core.formatBigNumber(core.getRealStatus('atk')), 107, 91 + 35, '#000000'); - //core.drawImage(ctx, core.statusBar.icons.def, 6, 111, 25, 25); - fill(core.formatBigNumber(core.getRealStatus('def')), 107, 91 + 35 + 36, '#000000'); - //core.drawImage(ctx, core.statusBar.icons.mdef, 6, 145, 25, 25); - //core.drawImage(ctx, core.statusBar.icons.money, 6, 179, 25, 25); - fill(core.formatBigNumber(core.status.hero.exp), 107, 91 + 35 + 36 + 34, '#000000'); - //core.drawImage(ctx, core.statusBar.icons.exp, 6, 213, 25, 25); - fill(core.formatBigNumber(core.status.hero.money), 107, 91 + 35 + 36 + 34 + 32, '#000000'); - fill(core.getFlag("juqing", 0), 107, 91 + 35 + 36 + 34 + 32 + 32, '#FF0000'); - ctx.textAlign = 'left'; - if (flags.hard - 4) fill1('[' + core.formatBigNumber(core.getRealStatus('mdef')) + ']', 76, 174, '#FF1495'); - core.drawImage(ctx, core.material.images.items, 0, 0, 32, 128, 13, 300, 28, 112); - fill('黄钥匙', 50, 320, '#FFFF80'); - fill('蓝钥匙', 50, 320 + 28, '#80FFFF'); - fill('红钥匙', 50, 320 + 56, '#FF8080'); - fill('黑钥匙', 50, 320 + 84, '#000000'); - ctx.textAlign = 'right'; - fill(core.itemCount('yellowKey'), 140, 320, '#FFFF80'); - fill(core.itemCount('blueKey'), 140, 320 + 28, '#80FFFF'); - fill(core.itemCount('redKey'), 140, 320 + 56, '#FF8080'); - fill(core.itemCount('greenKey'), 140, 320 + 84, '#000000'); - core.drawImage(ctx, core.material.images.images[['00005.png','00001.png','00002.png','00003.png','00004.png','00005.png'][flags.hard || 0]], 7, 404 - [0,10,10,0,0,0][flags.hard || 0]); - ctx.textAlign = 'left'; - if (flags.poison) fill("中毒", 8, 282, '#00CD00'); - if (flags.weak) fill("衰弱", 64, 282, '#FF1493'); - } - } else if (core.flags.extendToolbar && !core.domStyle.isVertical) { // 横屏且隐藏状态栏 - if (!core.dymCanvas['status']) - core.ui.createCanvas('status', 0, 0, core._PX_, core._PY_, 66); // 刚好盖过显伤层 - core.ui.clearMap(ctx = core.dymCanvas['status']); - core.ui.setFillStyle(ctx, core.status.globalAttribute.statusBarColor); - var offset = core.status.hero.loc.x - core.bigmap.offsetX / 32 >= core._HEIGHT_ ? 0 : core._PY_; - core.ui.setAlpha(ctx, 0.75); - core.ui.drawWindowSkin('winskin.png', ctx, offset, 0, core._PX_ - core._PY_, core._PY_); - core.ui.setAlpha(ctx, 1); - core.drawImage(ctx, core.statusBar.icons.floor, 6 + offset, 9, 25, 25); - fill((core.status.thisMap || {}).name || "Loading", 42 + offset, 29); - core.drawImage(ctx, core.statusBar.icons.hp, 6 + offset, 43, 25, 25); - fill(core.formatBigNumber(core.getRealStatus('hp')), 42 + offset, 63); - core.drawImage(ctx, core.statusBar.icons.atk, 6 + offset, 77, 25, 25); - fill(core.formatBigNumber(core.getRealStatus('atk')), 42 + offset, 97); - core.drawImage(ctx, core.statusBar.icons.def, 6 + offset, 111, 25, 25); - fill(core.formatBigNumber(core.getRealStatus('def')), 42 + offset, 131); - core.drawImage(ctx, core.statusBar.icons.mdef, 6 + offset, 145, 25, 25); - fill(core.formatBigNumber(core.getRealStatus('mdef')), 42 + offset, 165); - core.drawImage(ctx, core.statusBar.icons.money, 6 + offset, 179, 25, 25); - fill(core.formatBigNumber(core.status.hero.money), 42 + offset, 199); - core.drawImage(ctx, core.statusBar.icons.exp, 6 + offset, 213, 25, 25); - fill(core.formatBigNumber(core.status.hero.exp), 42 + offset, 233); - fill(core.setTwoDigits(core.itemCount('yellowKey')), 11 + offset, 267, '#FFCCAA'); - fill(core.setTwoDigits(core.itemCount('blueKey')), 46 + offset, 267, '#AAAADD'); - fill(core.setTwoDigits(core.itemCount('redKey')), 81 + offset, 267, '#FF8888'); - } + "drawStatusBar": function () { + if (!core.status.floorId) return; + + if (core.status.floorId == 'nandu') core.clearMap('caidan'); + else core.drawImage('caidan', 'caidan.png', -161, 0); + core.dom.caidan1Ctx.drawImage(core.material.images.images['caidan.png'], 0, 0) + var ctx, fill = function (text, x, y, style) { + core.ui.setFont(ctx, /*(/\w+/.test(text) ? 'italic ' : '') + */ '21px fzchyjw'); + core.ui.fillText(ctx, text, x, y, style); }, - "drawStatistics": function () { + fill1 = function (text, x, y, style) { + core.ui.setFont(ctx, '10px fzchyjw'); + core.ui.fillText(ctx, text, x, y, style); + }; + + //回忆画面 + if (core.status.hero.flags.Memories_grayscale) { + core.drawImage('caidan', 'caidan_grayscale.png', -161, 0); + core.dom.caidan1Ctx.drawImage(core.material.images.images['caidan_grayscale.png'], 0, 0) + return; + } + + + if (core.flags.statusCanvas) { // 系统开关「自绘状态栏」开启 + core.ui.clearMap(ctx = core.dom.statusCanvasCtx); // 清空状态栏 + core.ui.setFillStyle(ctx, core.status.globalAttribute.statusBarColor); + if (core.domStyle.isVertical) { // 竖屏 + core.drawImage(ctx, core.statusBar.icons.floor, 6, 6, 25, 25); + fill((core.status.thisMap || {}).name || "Loading", 42, 26); + core.drawImage(ctx, core.statusBar.icons.hp, 137, 6, 25, 25); + fill(core.formatBigNumber(core.getRealStatus('hp')), 173, 26); + core.drawImage(ctx, core.statusBar.icons.atk, 268, 6, 25, 25); + fill(core.formatBigNumber(core.getRealStatus('atk')), 304, 26); + core.drawImage(ctx, core.statusBar.icons.def, 6, 38, 25, 25); + fill(core.formatBigNumber(core.getRealStatus('def')), 42, 58); + core.drawImage(ctx, core.statusBar.icons.mdef, 137, 38, 25, 25); + fill(core.formatBigNumber(core.getRealStatus('mdef')), 173, 58); + core.drawImage(ctx, core.statusBar.icons.money, 268, 38, 25, 25); + fill(core.formatBigNumber(core.status.hero.money), 304, 58); + core.drawImage(ctx, core.statusBar.icons.exp, 6, 70, 25, 25); + fill(core.formatBigNumber(core.status.hero.exp), 42, 90); + } else if (!core.flags.extendToolbar) { // 横屏且未隐藏状态栏 + core.drawImage(ctx, core.material.images.images[flags.hard == 4 ? 'status.png' : 'status2.png'], 0, 63); + core.drawImage(ctx, core.statusBar.icons.floor, 124, 24, 32, 32); + ctx.textAlign = 'left'; + fill((core.status.thisMap || {}).title || "Loading", 0, 49, '#000000'); + //core.drawImage(ctx, core.statusBar.icons.hp, 6, 43, 25, 25); + ctx.textAlign = 'right'; + fill(core.formatBigNumber(core.getRealStatus('hp')), 107, 91, '#000000'); + //core.drawImage(ctx, core.statusBar.icons.atk, 6, 77, 25, 25); + fill(core.formatBigNumber(core.getRealStatus('atk')), 107, 91 + 35, '#000000'); + //core.drawImage(ctx, core.statusBar.icons.def, 6, 111, 25, 25); + fill(core.formatBigNumber(core.getRealStatus('def')), 107, 91 + 35 + 36, '#000000'); + //core.drawImage(ctx, core.statusBar.icons.mdef, 6, 145, 25, 25); + //core.drawImage(ctx, core.statusBar.icons.money, 6, 179, 25, 25); + fill(core.formatBigNumber(core.status.hero.exp), 107, 91 + 35 + 36 + 34, '#000000'); + //core.drawImage(ctx, core.statusBar.icons.exp, 6, 213, 25, 25); + fill(core.formatBigNumber(core.status.hero.money), 107, 91 + 35 + 36 + 34 + 32, '#000000'); + fill(core.getFlag("juqing", 0), 107, 91 + 35 + 36 + 34 + 32 + 32, '#FF0000'); + ctx.textAlign = 'left'; + if (flags.hard - 4) fill1('[' + core.formatBigNumber(core.getRealStatus('mdef')) + ']', 76, 174, '#FF1495'); + core.drawImage(ctx, core.material.images.items, 0, 0, 32, 128, 13, 300, 28, 112); + fill('黄钥匙', 50, 320, '#FFFF80'); + fill('蓝钥匙', 50, 320 + 28, '#80FFFF'); + fill('红钥匙', 50, 320 + 56, '#FF8080'); + fill('黑钥匙', 50, 320 + 84, '#000000'); + ctx.textAlign = 'right'; + fill(core.itemCount('yellowKey'), 140, 320, '#FFFF80'); + fill(core.itemCount('blueKey'), 140, 320 + 28, '#80FFFF'); + fill(core.itemCount('redKey'), 140, 320 + 56, '#FF8080'); + fill(core.itemCount('greenKey'), 140, 320 + 84, '#000000'); + core.drawImage(ctx, core.material.images.images[['00005.png', '00001.png', '00002.png', '00003.png', '00004.png', '00005.png'][flags.hard || 0]], 7, 404 - [0, 10, 10, 0, 0, 0][flags.hard || 0]); + ctx.textAlign = 'left'; + if (flags.poison) fill("中毒", 8, 282, '#00CD00'); + if (flags.weak) fill("衰弱", 64, 282, '#FF1493'); + } + } else if (core.flags.extendToolbar && !core.domStyle.isVertical) { // 横屏且隐藏状态栏 + if (!core.dymCanvas['status']) + core.ui.createCanvas('status', 0, 0, core._PX_, core._PY_, 66); // 刚好盖过显伤层 + core.ui.clearMap(ctx = core.dymCanvas['status']); + core.ui.setFillStyle(ctx, core.status.globalAttribute.statusBarColor); + var offset = core.status.hero.loc.x - core.bigmap.offsetX / 32 >= core._HEIGHT_ ? 0 : core._PY_; + core.ui.setAlpha(ctx, 0.75); + core.ui.drawWindowSkin('winskin.png', ctx, offset, 0, core._PX_ - core._PY_, core._PY_); + core.ui.setAlpha(ctx, 1); + core.drawImage(ctx, core.statusBar.icons.floor, 6 + offset, 9, 25, 25); + fill((core.status.thisMap || {}).name || "Loading", 42 + offset, 29); + core.drawImage(ctx, core.statusBar.icons.hp, 6 + offset, 43, 25, 25); + fill(core.formatBigNumber(core.getRealStatus('hp')), 42 + offset, 63); + core.drawImage(ctx, core.statusBar.icons.atk, 6 + offset, 77, 25, 25); + fill(core.formatBigNumber(core.getRealStatus('atk')), 42 + offset, 97); + core.drawImage(ctx, core.statusBar.icons.def, 6 + offset, 111, 25, 25); + fill(core.formatBigNumber(core.getRealStatus('def')), 42 + offset, 131); + core.drawImage(ctx, core.statusBar.icons.mdef, 6 + offset, 145, 25, 25); + fill(core.formatBigNumber(core.getRealStatus('mdef')), 42 + offset, 165); + core.drawImage(ctx, core.statusBar.icons.money, 6 + offset, 179, 25, 25); + fill(core.formatBigNumber(core.status.hero.money), 42 + offset, 199); + core.drawImage(ctx, core.statusBar.icons.exp, 6 + offset, 213, 25, 25); + fill(core.formatBigNumber(core.status.hero.exp), 42 + offset, 233); + fill(core.setTwoDigits(core.itemCount('yellowKey')), 11 + offset, 267, '#FFCCAA'); + fill(core.setTwoDigits(core.itemCount('blueKey')), 46 + offset, 267, '#AAAADD'); + fill(core.setTwoDigits(core.itemCount('redKey')), 81 + offset, 267, '#FF8888'); + } +}, + "drawStatistics": function () { // 浏览地图时参与的统计项目 return [ @@ -1736,7 +1746,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // 在这里可以增加新的ID来进行统计个数,只能增加道具ID ]; }, - "drawAbout": function () { + "drawAbout": function () { // 绘制“关于”界面 core.ui.closePanel(); core.lockControl(); @@ -1764,5 +1774,5 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // TODO: 写自己的“关于”页面,每次增加32像素即可 core.playSound('打开界面'); } - } + } } \ No newline at end of file diff --git a/project/images/008-Line02.png b/project/images/008-Line02.png new file mode 100644 index 0000000..fbc9c89 Binary files /dev/null and b/project/images/008-Line02.png differ diff --git a/project/images/009-Random01.png b/project/images/009-Random01.png new file mode 100644 index 0000000..0f70535 Binary files /dev/null and b/project/images/009-Random01.png differ diff --git a/project/images/010-Random02.png b/project/images/010-Random02.png new file mode 100644 index 0000000..8dfafa3 Binary files /dev/null and b/project/images/010-Random02.png differ diff --git a/project/images/013-Square01.png b/project/images/013-Square01.png new file mode 100644 index 0000000..8fb171b Binary files /dev/null and b/project/images/013-Square01.png differ diff --git a/project/images/020-Flat01.png b/project/images/020-Flat01.png new file mode 100644 index 0000000..a150f0b Binary files /dev/null and b/project/images/020-Flat01.png differ diff --git a/project/images/caidan_grayscale.png b/project/images/caidan_grayscale.png new file mode 100644 index 0000000..3656bf6 Binary files /dev/null and b/project/images/caidan_grayscale.png differ diff --git a/project/images/shijuexiaoguo_kuanpingheibian.png b/project/images/shijuexiaoguo_kuanpingheibian.png new file mode 100644 index 0000000..2a8e852 Binary files /dev/null and b/project/images/shijuexiaoguo_kuanpingheibian.png differ diff --git a/project/images/tr003.jpg b/project/images/tr003.jpg new file mode 100644 index 0000000..95e4d4e Binary files /dev/null and b/project/images/tr003.jpg differ diff --git a/project/plugins.js b/project/plugins.js index 6a9c652..50da1b2 100644 --- a/project/plugins.js +++ b/project/plugins.js @@ -3019,4 +3019,49 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = core.fillText('ui', damage, offset, position, color, this._buildFont(13, true)); } }, + "仿RM渐变效果": function () { + // 在此增加新插件 + // 准备渐变 + this.maskPrepare = function () { + // 执行后画面将凝固 + core.createCanvas("mask", 0, 0, core.__PIXELS__, core.__PIXELS__, 155); + for (var m in core.canvas) { + core.dymCanvas.mask.drawImage(core.canvas[m].canvas, 0, 0); + }; + } + + // 执行渐变 + this.maskFliter = function (time, sample) { // sample为渐变图名称,渐变图需要在全塔属性注册 + var tempCanvas = core.bigmap.tempCanvas; + var tempWidth = core.__PIXELS__, + tempHeight = core.__PIXELS__; + tempCanvas.canvas.width = tempWidth; + tempCanvas.canvas.height = tempHeight; + tempCanvas.clearRect(0, 0, tempWidth, tempHeight); + tempCanvas.drawImage(core.material.images.images[sample], 0, 0, tempWidth, tempHeight); + // 读取渐变图开始处理 + var sampleData = tempCanvas.getImageData(0, 0, tempWidth, tempHeight); + var processData = core.dymCanvas.mask.getImageData(0, 0, tempWidth, tempHeight); + tempCanvas.clearRect(0, 0, tempWidth, tempHeight); + var timer = 0; + var animate = setInterval(function () { + timer++; + for (var i = 0; i < sampleData.data.length; i += 4) { + if (sampleData.data[i] < timer) { + processData.data[i] = 0; + processData.data[i + 1] = 0; + processData.data[i + 2] = 0; + processData.data[i + 3] = 0; + } + } + core.dymCanvas.mask.putImageData(processData, 0, 0); + if (timer == 255) { + delete core.animateFrame.asyncId[animate]; + clearInterval(animate); + core.deleteCanvas("mask"); + } + }, time / 256); + core.animateFrame.asyncId[animate] = true; + } +} } \ No newline at end of file