From 85958867b40baf6e3a9f34a968073fc0f1f29441 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sun, 13 May 2018 16:48:39 +0800 Subject: [PATCH 01/11] Update --- docs/api.md | 19 ++++++++++--------- docs/personalization.md | 2 +- project/functions.js | 4 ++-- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/docs/api.md b/docs/api.md index 37580c0d..23fdd3a7 100644 --- a/docs/api.md +++ b/docs/api.md @@ -25,7 +25,7 @@ core.status.thisMap core.floors -获得所有楼层的信息,常常用来获取事件坐标。 +获得所有楼层的信息。例如core.floors[core.status.floorId].events可获得本楼层的所有自定义事件。 core.status.hero @@ -146,7 +146,7 @@ core.openDoor(id, x, y, needKey, callback) core.battle(id, x, y, force, callback) -执行战斗事件。id为怪物的id,x和y为坐标,force为bool值表示打不过是否强制战斗,callback为战斗完毕后的回调函数。 +执行战斗事件。id为怪物的id,x和y为坐标,force为bool值表示是否是强制战斗,callback为战斗完毕后的回调函数。 例如:core.battle('greenSlime', null, null, true) @@ -155,7 +155,8 @@ core.trigger(x, y) core.clearMap(mapName) -清空某个画布。mapName可为'bg', 'event', 'fg', 'event2', 'hero', 'animate', 'weather', 'ui', 'data', 'all'之一。 +清空某个画布图层。 +mapName可为'bg', 'event', 'fg', 'event2', 'hero', 'animate', 'weather', 'ui', 'data', 'all'之一。 如果mapName为'all',则为清空所有画布;否则只清空对应的画布。 @@ -164,7 +165,7 @@ core.drawBlock(block) core.drawMap(floorId, callback) -重绘某一层的地图数据。floorId为要绘制那一层的floorId,callback为绘制完毕后的回调函数。 +重绘某一层的地图。floorId为要绘制楼层的floorId,callback为绘制完毕后的回调函数。 core.terrainExists(x, y, id, floorId) @@ -187,7 +188,7 @@ needEnable表示该点是否启用时才返回,其值不设置则默认为true core.getBlockId(x, y, floorId, needEnable) -获得某个点的图块ID +获得某个点的图块ID。 x和y为坐标;floorId为楼层ID,可忽略或null表示当前楼层。 needEnable表示是否需要该点处于启用状态才返回,其值不设置则默认为true。 如果该点不存在图块,则返回null,否则返回该点的图块ID。 @@ -394,7 +395,7 @@ core.maps.removeBlockByIds(floorId, ids) 根据索引删除或禁用若干块。 -========== core.ui.XXX 和地图处理相关的函数 ========== +========== core.ui.XXX 和对话框绘制相关的函数 ========== ui.js主要用来进行UI窗口的绘制,比如对话框、怪物手册、楼传器、存读档界面等等。 @@ -404,7 +405,7 @@ floorId为目标楼层ID,canvas为要绘制到的图层,blocks为要绘制 x,y为该图层开始绘制的起始点坐标,size为每一格的像素,heroLoc为勇士坐标,heroIcon为勇士图标。 -========== core.utils.XXX 和地图处理相关的函数 ========== +========== core.utils.XXX 工具类的辅助函数 ========== utils.js主要用来进行一些辅助函数的计算。 @@ -454,9 +455,9 @@ core.utils.copy(data) 尝试复制一段文本到剪切板。 -core.http(type, url, formData, success, error, mimeType) +core.utils.http(type, url, formData, success, error, mimeType, responseType) 发送一个异步HTTP请求。 type为'GET'或者'POST';url为目标地址;formData如果是POST请求则为表单数据。 -success为成功后的回调,error会失败后的回调,mimeType如果设置则覆盖。 +success为成功后的回调,error为失败后的回调,最后两个参数如果设置则覆盖。 ``` diff --git a/docs/personalization.md b/docs/personalization.md index 36191624..593716ae 100644 --- a/docs/personalization.md +++ b/docs/personalization.md @@ -334,7 +334,7 @@ control.prototype.checkBlock = function () { "shield1": {"atk": 0, "def": 10, "mdef": 10}, // 铁盾加10防和10魔防 ``` -通过这种方式,当穿上装备时,将会给你的三围分别加上对应项的数值。 +通过这种方式,当穿上装备时,将会给你的三围分别加上对应项的数值(支持负数,比如装剑减防御)。 ### 新增剑盾 diff --git a/project/functions.js b/project/functions.js index 975d9aab..0c7862d1 100644 --- a/project/functions.js +++ b/project/functions.js @@ -346,7 +346,7 @@ functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = console.log("插件函数执行测试"); } - var _useEquipment = function (itemId, name, type) { + var _useEquipment = function (itemId, name, type) { // 具体的装备使用效果 if (itemId.indexOf(name)==0) { var now=core.getFlag(name, name+"0"); @@ -356,7 +356,7 @@ functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = else { core.status.hero.atk -= core.values[now].atk || 0; core.status.hero.def -= core.values[now].def || 0; - core.status.hero.mdef -= core.values[now].mdef || 0; + core.status.hero.mdef -= core.values[now].mdef || 0; } if (typeof core.values[itemId] == 'number') { From 0517e0f1455959e05f8c67e5eba2d2550635e186 Mon Sep 17 00:00:00 2001 From: oc Date: Tue, 15 May 2018 00:02:35 +0800 Subject: [PATCH 02/11] Fix flyrange bug --- _server/fs.js | 41 ++++++++++++++++++++++++++++++++++++++++- libs/events.js | 8 ++++---- 更新说明.txt | 1 + 3 files changed, 45 insertions(+), 5 deletions(-) diff --git a/_server/fs.js b/_server/fs.js index 31b24811..59bd1441 100644 --- a/_server/fs.js +++ b/_server/fs.js @@ -1,8 +1,47 @@ (function () { fs = {}; + + + var _http = function (type, url, formData, success, error, mimeType, responseType) { + var xhr = new XMLHttpRequest(); + xhr.open(type, url, true); + if (core.isset(mimeType)) + xhr.overrideMimeType(mimeType); + if (core.isset(responseType)) + xhr.responseType = responseType; + xhr.onload = function(e) { + if (xhr.status==200) { + if (core.isset(success)) { + success(xhr.response); + } + } + else { + if (core.isset(error)) + error("HTTP "+xhr.status); + } + }; + xhr.onabort = function () { + if (core.isset(error)) + error("Abort"); + } + xhr.ontimeout = function() { + if (core.isset(error)) + error("Timeout"); + } + xhr.onerror = function() { + if (core.isset(error)) + error("Error on Connection"); + } + if (core.isset(formData)) + xhr.send(formData); + else xhr.send(); + } + + var postsomething = function (data, _ip, callback) { if (typeof(data) == typeof([][0]) || data == null) data = JSON.stringify({1: 2}); - core.http("POST", _ip, data, function (data) { + + _http("POST", _ip, data, function (data) { if (data.slice(0, 6) == 'error:') { callback(data, null); } diff --git a/libs/events.js b/libs/events.js index 8cf62d64..786499af 100644 --- a/libs/events.js +++ b/libs/events.js @@ -1033,10 +1033,10 @@ events.prototype.changeFloor = function (floorId, stair, heroLoc, time, callback } } if (core.status.maps[floorId].canFlyTo && core.status.hero.flyRange.indexOf(floorId)<0) { - if (core.floorIds.indexOf(floorId)>core.floorIds.indexOf(core.status.floorId)) - core.status.hero.flyRange.push(floorId); - else - core.status.hero.flyRange.unshift(floorId); + core.status.hero.flyRange.push(floorId); + core.status.hero.flyRange.sort(function (a, b) { + return core.floorIds.indexOf(a) - core.floorIds.indexOf(b); + }) } window.setTimeout(function () { diff --git a/更新说明.txt b/更新说明.txt index a5c4c77a..d38375a7 100644 --- a/更新说明.txt +++ b/更新说明.txt @@ -11,6 +11,7 @@ 增添自定义装备的教程(个性化-自定义装备) √ 重写教程的快速上手 √ 修复转向触发事件的朝向Bug √ +修复flyRange的顺序问题 √ 部分细节优化 √ ----------------------------------------------------------------------- From 4b17b25b15b5147a49eb59888a71f8a5d91f179f Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Tue, 15 May 2018 20:38:58 +0800 Subject: [PATCH 03/11] use mp3 --- _server/blockly/MotaAction.g4 | 2 +- docs/element.md | 2 +- docs/event.md | 2 +- libs/control.js | 2 +- libs/events.js | 8 +- libs/ui.js | 2 +- project/data.js | 2 +- project/floors/sample1.js | 2 +- project/floors/sample2.js | 208 +++++++++++++++++----------------- project/sounds/attack.mp3 | Bin 0 -> 6000 bytes project/sounds/attack.ogg | Bin 9491 -> 0 bytes project/sounds/door.mp3 | Bin 0 -> 8508 bytes project/sounds/door.ogg | Bin 11974 -> 0 bytes project/sounds/item.mp3 | Bin 0 -> 8508 bytes project/sounds/item.ogg | Bin 11126 -> 0 bytes project/sounds/zone.mp3 | Bin 0 -> 11956 bytes project/sounds/zone.ogg | Bin 14679 -> 0 bytes 17 files changed, 115 insertions(+), 115 deletions(-) create mode 100644 project/sounds/attack.mp3 delete mode 100644 project/sounds/attack.ogg create mode 100644 project/sounds/door.mp3 delete mode 100644 project/sounds/door.ogg create mode 100644 project/sounds/item.mp3 delete mode 100644 project/sounds/item.ogg create mode 100644 project/sounds/zone.mp3 delete mode 100644 project/sounds/zone.ogg diff --git a/_server/blockly/MotaAction.g4 b/_server/blockly/MotaAction.g4 index 2483aaef..e6f97b4f 100644 --- a/_server/blockly/MotaAction.g4 +++ b/_server/blockly/MotaAction.g4 @@ -839,7 +839,7 @@ playSound_s /* playSound_s tooltip : playSound: 播放音效 helpUrl : https://ckcz123.github.io/mota-js/#/event?id=playsound%EF%BC%9A%E6%92%AD%E6%94%BE%E9%9F%B3%E6%95%88 -default : ["item.ogg"] +default : ["item.mp3"] colour : this.soundColor var code = '{"type": "playSound", "name": "'+EvalString_0+'"},\n'; return code; diff --git a/docs/element.md b/docs/element.md index 3e915cdb..11816adf 100644 --- a/docs/element.md +++ b/docs/element.md @@ -199,7 +199,7 @@ floorId指定的是目标楼层的唯一标识符(ID)。 ]; "sounds": [ // 在此存放所有的SE,和文件名一致 // 音频名不能使用中文,不能带空格或特殊字符;可以直接改名拼音就好 - 'floor.mp3', 'attack.ogg', 'door.ogg', 'item.ogg', 'zone.ogg' + 'floor.mp3', 'attack.mp3', 'door.mp3', 'item.mp3', 'zone.mp3' ] ``` diff --git a/docs/event.md b/docs/event.md index d8d50530..2e3eda7b 100644 --- a/docs/event.md +++ b/docs/event.md @@ -857,7 +857,7 @@ move完毕后移动的NPC/怪物一定会消失,只不过可以通过immediate 使用playSound可以立刻播放一个音效。 -使用方法:`{"type": "playSound", "name": "item.ogg"}` +使用方法:`{"type": "playSound", "name": "item.mp3"}` 值得注意的是,如果是额外添加进文件的音效,则需在main.js中this.sounds里加载它。 diff --git a/libs/control.js b/libs/control.js index c4e956f3..44fe2c87 100644 --- a/libs/control.js +++ b/libs/control.js @@ -1010,7 +1010,7 @@ control.prototype.checkBlock = function () { } if (damage>0) { - core.playSound('zone.ogg'); + core.playSound('zone.mp3'); core.drawAnimate("zone", x, y); } diff --git a/libs/events.js b/libs/events.js index 786499af..0027129c 100644 --- a/libs/events.js +++ b/libs/events.js @@ -838,7 +838,7 @@ events.prototype.getNextItem = function() { ////// 获得某个物品 ////// events.prototype.getItem = function (itemId, itemNum, itemX, itemY, callback) { // core.getItemAnimate(itemId, itemNum, itemX, itemY); - core.playSound('item.ogg'); + core.playSound('item.mp3'); var itemCls = core.material.items[itemId].cls; core.items.getItemEffect(itemId, itemNum); core.removeBlock(itemX, itemY); @@ -888,7 +888,7 @@ events.prototype.openDoor = function (id, x, y, needKey, callback) { } // open - core.playSound("door.ogg"); + core.playSound("door.mp3"); var state = 0; var doorId = id; if (!(doorId.substring(doorId.length-4)=="Door")) { @@ -942,11 +942,11 @@ events.prototype.battle = function (id, x, y, force, callback) { else { if (core.flags.equipment && core.getFlag('sword', 'sword0')!='sword0') { - core.playSound('zone.ogg'); + core.playSound('zone.mp3'); core.drawAnimate('sword', x, y); } else { - core.playSound('attack.ogg'); + core.playSound('attack.mp3'); core.drawAnimate('hand', x, y); } diff --git a/libs/ui.js b/libs/ui.js index b539d278..910a8a80 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -981,7 +981,7 @@ ui.prototype.drawBattleAnimate = function(monsterId, callback) { core.fillText("ui", "S", right_start-8, 208+15, "#FFFFFF", "italic bold 40px Verdana"); var battleInterval = setInterval(function() { - core.playSound("attack.ogg"); + core.playSound("attack.mp3"); if (turn==0) { // 勇士攻击 diff --git a/project/data.js b/project/data.js index 257d7b4f..63a4c455 100644 --- a/project/data.js +++ b/project/data.js @@ -14,7 +14,7 @@ data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = 'bgm.mp3' ], "sounds" : [ - 'floor.mp3', 'attack.ogg', 'door.ogg', 'item.ogg', 'zone.ogg' + 'floor.mp3', 'attack.mp3', 'door.mp3', 'item.mp3', 'zone.mp3' ], "startBackground" : "bg.jpg", "startLogoStyle" : "color: black", diff --git a/project/floors/sample1.js b/project/floors/sample1.js index 54098420..87bbb9b2 100644 --- a/project/floors/sample1.js +++ b/project/floors/sample1.js @@ -56,7 +56,7 @@ main.floors.sample1 = "\t[redKing]欢迎来到魔塔,你是第一百位挑战者。\n若你能打败我所有的手下,我就与你一对一的决斗。\n现在你必须接受我的安排。", {"type": "show", "loc": [[1,6],[0,7],[1,8],[2,7]], "time": 500}, // 显示四个白衣武士,每个动画效果500ms "\t[hero]什么?", - {"type": "playSound", "name": "attack.ogg"}, // 播放战斗音频 + {"type": "playSound", "name": "attack.mp3"}, // 播放战斗音频 {"type": "setValue", "name": "status:atk", "value": "status:atk/10"}, // 勇士的攻防变成原来的十分之一 {"type": "setValue", "name": "status:def", "value": "status:def/10"}, {"type": "hide", "loc": [[1,6],[0,7],[2,7],[1,8]]}, // 直接隐藏四个白衣武士,没有动画效果 diff --git a/project/floors/sample2.js b/project/floors/sample2.js index 666e5f64..5db5310c 100644 --- a/project/floors/sample2.js +++ b/project/floors/sample2.js @@ -36,22 +36,22 @@ main.floors.sample2 = "6,11": {"enable": false}, // 下楼梯口的机关门,初始处于关闭状态 "6,10": [ // 进入陷阱后关门 - {"type": "playSound", "name": "door.ogg"}, + {"type": "playSound", "name": "door.mp3"}, {"type": "show", "loc": [6,11]}, // 显示机关门 {"type": "hide"}, // 隐藏该事件 {"type": "trigger", "loc": [6,7]}, // 直接引发"6,7"处的事件,即下面的杰克 // 请再次注意"trigger"会立刻结束当前事件,因此"type":"hide"需要在trigger前调用 ], "6,7": [ // 杰克事件 - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]杰克,你究竟是什么人?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[杰克,thief]……", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]我们……是朋友对吧?\n是朋友就应该相互信任对吧?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[杰克,thief]……事到如今也没有什么好隐瞒的了。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[杰克,thief]没错,我就是这一切的背后主谋。", {"type": "move", "steps": [ // 移动到黑暗大法师的位置;使用move会自动调用hide进行隐藏,无需再手动调用 {"direction": "up", "value": 3} @@ -59,105 +59,105 @@ main.floors.sample2 = {"type": "show", "loc": [6,4], "time": 1000}, // 显示黑暗大法师 {"type": "sleep", "time": 500}, // 等待500毫秒 // 下面是黑暗大法师的事件 - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]我的真名为——黑暗大法师,第四区域的头目。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]呵呵,不知道为什么,我竟然对事情走到现在这一步毫不感觉意外。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]以杰克的名义利用了你这么久,真是抱歉啊。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]真正的杰克现在在哪里?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]盗贼杰克这个人类从未存在过,他只是我用来接近你的一副皮囊而已。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]……这样啊,呵呵。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]为什么你看上去丝毫不生气?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]多亏了鬼帝,我现在的脾气好得连我自己都害怕。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]说起来我还得好好感谢你呢,如果没有杰克……你的帮助,我早就死在第一区域了。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]不论你的目的如何,你的所作所为都是对我有利的。不是吗?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]能够如此淡定的面对背叛,看来跟五年前相比,你确实成长了很多啊。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]五年前?……黑暗大法师,在这之前,我们好像素未谋面吧?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]五年前那场屠城你应该这一生都不会忘记吧。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]很不巧,那场屠城的主谋,也是我。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]……", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]这么说,击中我双亲的那道紫色闪电,也就是你释放的吧……", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]你的双亲?这种事情我怎么可能会记得?\n你难道在踩死蚂蚁的时候还会一只只记下他们的样子吗?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]老 子 要 你 的 命", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]你应该对我心怀感激才对,如果不是那时的我看出了你隐藏的稀有勇者体质,你绝对不可能活到今天。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]在暗中动手脚让你通过勇者选拔的人也是我,我一直一直在暗中引导你走到今天这一步。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]是我救赎了一无是处的你。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]为什么只有我一个人活了下来!!!!", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]为什么偏偏是我!!!!", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]我刚才不是说过了吗?因为我看出了你有稀有勇者体质啊。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]你刚刚跟鬼帝交过手,应该已经很清楚这稀有勇者体质意味着什么了吧?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]……就因为我有这种体质,就不得不背负如此残酷的宿命吗?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]愚蠢!这意味着只要我对你加以引导跟培养,你就能成为这世间实力最强的存在!", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]……所以,你究竟想利用我干什么?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]我利用你干的事情,你不是已经完成了吗?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]……你说什么?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]不知不觉间,你已经在我的指引下跟鬼帝正面交手并且杀掉了他啊。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]就连我跟鬼帝的对决……也是被你安排好了的?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]你们两个一个是人类勇者,一个是魔物勇者,迟早会有交手的一天。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]我只不过是操纵了一系列的连锁事件让这一天提早了数十年到来而已。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]……你这样做对谁有好处?他可是你们魔物世界的救世主啊。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]一个惧怕征战,爱好和平的懦夫,也配叫救世主?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]获得了力量,却只会被动挨打而不主动向人类世界出击,龟缩在第二区域惶惶度日,他根本就不配拥有稀有勇者体质。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]为了不让这种人霸占着积累多年的庞大灵魂能量无作为,我设计让你杀掉了他。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]你没有辜负我的期待,成功战胜了那个废物,现在你体内累积的灵魂能量……也就是魔力,已经达到了能跟魔王匹敌的地步。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]……是吗?现在的我能与魔王匹敌?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]不止如此,你现在的力量之强就算是统治世界也是绰绰有余!", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]怎么样?要不要加入我的麾下,跟随我去征战人类世界?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]能与魔王匹敌的话,也就是说。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]我 现 在 对 付 你 这 种 杂 碎 也 绰 绰 有 余 吧 ?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]……什么?!", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]等一下!别冲动!你先等我把这利害关系理一理——", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]你给老子闭嘴。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]老子什么都不想听。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]老子现在想做的事情只有一件——", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]剁掉你的头,把它放回我双亲的墓前。", {"type": "update"} // 本事件剧情结束,更新地图显伤 ], @@ -175,7 +175,7 @@ main.floors.sample2 = "data": [ "\t[blackMagician]听不进去人话的蠢货,就要用疼痛来管教!", {"type": "changePos", "direction": "up"}, - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]出来吧!禁忌——紫电凶杀阵!", {"type": "show", "loc": [[4,3],[4,6],[8,6],[8,3]], "time": 500}, // 依次显示四个角的法师 {"type": "sleep", "time": 500}, @@ -195,13 +195,13 @@ main.floors.sample2 = {"type": "animate", "name": "yongchang", "loc": [8,6]}, {"type": "animate", "name": "yongchang", "loc": [8,3]}, {"type": "sleep", "time": 200}, - {"type": "playSound", "name": "attack.ogg"}, // 播放攻击音效 + {"type": "playSound", "name": "attack.mp3"}, // 播放攻击音效 {"type": "animate", "name": "thunder", "loc": "hero"}, {"type": "sleep", "time": 200}, "\t[hero]唔……!!(吐血)", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]我的魔力可是充足的很啊!我会一直折磨到你屈服于我为止!", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]人类!好好感受吧!当初你们施加于我的痛苦!如今我要百倍奉还!", {"type": "show", "loc": [6,6], "time": 1000}, // 显示妖精 {"type": "sleep", "time": 700}, @@ -232,45 +232,45 @@ main.floors.sample2 = "6,6": { // 妖精 "enable":false, // 初始时禁用状态 "data": [ // 妖精事件 - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]…妖精…小姐……是你吗?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[小妖精,fairy]不要绝望,也不要悲伤。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[小妖精,fairy]你从来都不是独自一人在前进。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[小妖精,fairy]咱一直,一直都在注视着你。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[小妖精,fairy]耍小聪明的你、笨笨的你呆呆的你、胆小的你、勇敢的你帅气的你……全部全部都是你。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[小妖精,fairy]所以放心吧,无论发生什么,咱都会陪伴在你身边的。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[小妖精,fairy]因为你要是离开我的话,立刻就会死掉吧?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]…妖精…小姐……其实一直以来,我都非常感激你……", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[小妖精,fairy]笨蛋!都这种时候了就不要作出像是临终遗言的发言了啊!!", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[小妖精,fairy]喂!那边穿衣品味差到极点的黑暗大法师,别左顾右盼说的就是你!你应该知道咱的身份吧?\n还不速速退下!", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]可恶…多管闲事的妖精族…明明只要再让他承受一点疼痛来瓦解他的意志力,我的计划就成功了!", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[小妖精,fairy]哼哼哼~抱歉哦,这个笨蛋的意志力可不像你想象的那么薄弱哦!", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]不甘心!我不甘心!妖精公主又如何!\n只要是阻挡我的,不管是谁我都要铲除!", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[小妖精,fairy]终于露出狐狸尾巴了,其实咱早就看出你有谋反的念头。你的计划就是拉拢这家伙入伙然后推翻魔王对魔塔的统治对吧?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]呵呵呵……那个昏庸的魔王,掌握着那么庞大的魔物军队却只知道固守魔塔,而不主动侵略人类世界扩张领土!", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]我实在是看不过眼,所以我才决定把这个具备稀有勇者体质的家伙培养成新一任魔王!\n来让这个世界的势力重新洗牌!", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[小妖精,fairy]你觉得一个满脑子想着回家种田的废柴勇者会成为改变世界的魔王?你晃晃脑袋试试,是不是能听到大海的声音?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]恼人至极的妖精族!呵呵呵……我干脆一不做二不休,连你也一块收拾了吧!", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[小妖精,fairy]别小瞧咱!咱好歹也是妖精族里实力数一数二的存在!", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]只会耍嘴皮子的恼人苍蝇!我倒要看看一块焦炭会不会说话!\n——招雷弹!!", /* {"type": "hide", "loc": [4,3], "time": 150}, // 由于没有动画效果,暂时使用“闪一下”表示 @@ -286,7 +286,7 @@ main.floors.sample2 = {"type": "animate", "name": "yongchang", "loc": [4,6]}, {"type": "animate", "name": "yongchang", "loc": [8,6]}, {"type": "animate", "name": "yongchang", "loc": [8,3]}, - {"type": "playSound", "name": "attack.ogg"}, // 播放攻击音效 + {"type": "playSound", "name": "attack.mp3"}, // 播放攻击音效 /* {"type": "hide", "loc": [6,6], "time": 150}, // 妖精也闪一下表示收到了伤害 {"type": "show", "loc": [6,6], "time": 150}, // 妖精也闪一下表示收到了伤害 @@ -294,38 +294,38 @@ main.floors.sample2 = {"type": "animate", "name": "thunder", "loc": [6,6]}, {"type": "sleep", "time": 500}, // 等待500毫秒 "\t[小妖精,fairy]切,这点伤痛跟他刚才经历的身心地狱相比根本就不算什么。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]哼!翅膀都被烧焦了还要嘴硬?你难不成真以为我不会对你动真格?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]……你这混蛋!给我离她远点!!", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[小妖精,fairy]!…你现在受了很严重的致命伤,乱动什么?\n乖。别怕,这里有咱顶着!", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[小妖精,fairy]对了,咱再问你一遍,你是很珍惜自己性命的对吧?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]!…等等…妖精小姐,你不会是……?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[小妖精,fairy]喂,黑暗大法师,你作为魔塔里最博学多识的蠢货,应该对咱妖精族的特殊能力再清楚不过吧?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]什么?!难不成你是想!!不可能……\n就为了一个渺小的人类,不可理喻!!", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[小妖精,fairy]哼哼哼!你害怕的表情可真美味!", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[小妖精,fairy]不过比起这个,咱更期待你吃到“妖精自灭冲击”之后的死状哦!~", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[blackMagician]不!!不应该是这样的!我完美的计划竟然会被一只小小的妖精破坏!", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]不要!……千万不要!……为了我这种人……唔!", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[小妖精,fairy]笨蛋,动都动不了了就不要强撑着站起来了啊。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[小妖精,fairy]真是的,都到最后一刻了,你这家伙好歹也让咱省点心吧。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[小妖精,fairy]那么,再见了……我的勇者大人。", {"type": "move", "time": 700, "steps": [ // 向上移动三个,撞上黑暗大大法师;本事件的hide会自动被调用 {"direction": "up", "value": 3} ]}, - {"type": "playSound", "name": "attack.ogg"}, // 播放攻击音效 + {"type": "playSound", "name": "attack.mp3"}, // 播放攻击音效 {"type": "sleep", "time": 200}, "\t[blackMagician]不可能!!!!!", {"type": "hide", "loc": [6,3]}, // 法师消失 @@ -336,24 +336,24 @@ main.floors.sample2 = {"type": "changeFloor", "floorId": "sample2", "loc": [6,6], "direction": "up", "time": 1000}, // 更换勇士地点,合计1秒 {"type": "show", "loc": [6,5]}, // 显示黄宝石 {"type": "sleep", "time": 200}, // 等待200毫秒 - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, {"type": "sleep", "time": 200}, // 等待200毫秒 "\t[hero]…妖精…小姐……", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]……妖精小姐!", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]是梦吗?……不对,为什么我在流泪?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]这颗漂亮的宝石是……?", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]我全都想起来了……妖精小姐为了我……\n牺牲了自己的性命。", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]在这颗宝石上,我能感受到你的温度……\n熟悉而又令人安心,这就是你最后留给我的东西吗……", - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]好温暖……", {"type": "setValue", "name": "item:yellowJewel", "value": "1"}, // 获得1个黄宝石 {"type": "hide", "loc": [6,5]}, // 隐藏黄宝石 - {"type": "playSound", "name": "item.ogg"}, + {"type": "playSound", "name": "item.mp3"}, "\t[hero]……", {"type": "openDoor", "loc": [6,2]}, // 开门 {"type": "openDoor", "loc": [6,11]} diff --git a/project/sounds/attack.mp3 b/project/sounds/attack.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..259b759e869bcfd8443931883d4ecaf29922508f GIT binary patch literal 6000 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 diff --git a/project/sounds/item.mp3 b/project/sounds/item.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..5d82178082a34de8d1be5848f5e5fefc857e9797 GIT binary patch literal 8508 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 KSyca@ME?bSvfQQs literal 0 HcmV?d00001 diff --git a/project/sounds/item.ogg b/project/sounds/item.ogg deleted file mode 100644 index 469399d524ebefa6937776e0f6d05904e3253e4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11126 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 PVt^U|Uu^-vO~U^L@XQvb diff --git a/project/sounds/zone.mp3 b/project/sounds/zone.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..eccf53c8401aee2856cd43f78bf4159591c00ad3 GIT binary patch literal 11956 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 Date: Wed, 16 May 2018 13:10:13 +0800 Subject: [PATCH 04/11] Line Wrap in item --- libs/ui.js | 15 +++++++++++++-- 更新说明.txt | 4 ++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/libs/ui.js b/libs/ui.js index 910a8a80..ef9adc03 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -1513,8 +1513,19 @@ ui.prototype.drawToolbox = function(index) { if (core.isset(selectId)) { var item=core.material.items[selectId]; core.fillText('ui', item.name, 10, 32, '#FFD700', "bold 20px Verdana") - core.fillText('ui', item.text||"该道具暂无描述。", 10, 62, '#FFFFFF', '17px Verdana'); - core.fillText('ui', '<继续点击该道具即可进行使用>', 10, 89, '#CCCCCC', '14px Verdana'); + + var text = item.text||"该道具暂无描述。"; + var lines = core.splitLines('ui', text, 406, '17px Verdana'); + + core.fillText('ui', lines[0], 10, 62, '#FFFFFF', '17px Verdana'); + + if (lines.length==1) { + core.fillText('ui', '<继续点击该道具即可进行使用>', 10, 89, '#CCCCCC', '14px Verdana'); + } + else { + var leftText = text.substring(lines[0].length); + core.fillText('ui', leftText, 10, 89, '#FFFFFF', '17px Verdana'); + } } core.canvas.ui.textAlign = 'right'; diff --git a/更新说明.txt b/更新说明.txt index d38375a7..db473dce 100644 --- a/更新说明.txt +++ b/更新说明.txt @@ -8,8 +8,8 @@ 支持 status:x 获得当前坐标 √ 最大存档个数提到main处理 √ 新建地图可以保留楼层属性 √ -增添自定义装备的教程(个性化-自定义装备) √ -重写教程的快速上手 √ +道具描述过长时可以自动换行 √ +重写大部分教程,新增大量拓展描述 √ 修复转向触发事件的朝向Bug √ 修复flyRange的顺序问题 √ 部分细节优化 √ From 7d4f8f41afde6ed74b7b2c8512cd051c61dff382 Mon Sep 17 00:00:00 2001 From: oc Date: Wed, 16 May 2018 13:33:29 +0800 Subject: [PATCH 05/11] autosave while events --- libs/control.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libs/control.js b/libs/control.js index 44fe2c87..7c15fb88 100644 --- a/libs/control.js +++ b/libs/control.js @@ -1810,6 +1810,8 @@ control.prototype.openSettings = function (need) { ////// 自动存档 ////// control.prototype.autosave = function (removeLast) { + if (core.status.event.id!=null) + return; var x=null; if (removeLast) x=core.status.route.pop(); From b71442b0997a65a56808ff722369f2adaa608343 Mon Sep 17 00:00:00 2001 From: oc Date: Thu, 17 May 2018 23:37:52 +0800 Subject: [PATCH 06/11] drawmap --- libs/events.js | 42 +++++++++++++++++++----------------------- libs/maps.js | 11 +++++------ project/items.js | 14 +++++++------- 更新说明.txt | 2 ++ 4 files changed, 33 insertions(+), 36 deletions(-) diff --git a/libs/events.js b/libs/events.js index 0027129c..a0018f7b 100644 --- a/libs/events.js +++ b/libs/events.js @@ -407,8 +407,6 @@ events.prototype.doAction = function() { } if (floorId==core.status.floorId) { core.drawMap(floorId); - core.drawHero(); - core.updateStatusBar(); } } this.doAction(); @@ -1094,29 +1092,27 @@ events.prototype.changeFloor = function (floorId, stair, heroLoc, time, callback }) } core.drawMap(floorId, function () { - setTimeout(function() { - if (core.isset(heroLoc.direction)) - core.setHeroLoc('direction', heroLoc.direction); - core.setHeroLoc('x', heroLoc.x); - core.setHeroLoc('y', heroLoc.y); - core.drawHero(); - core.updateStatusBar(); + if (core.isset(heroLoc.direction)) + core.setHeroLoc('direction', heroLoc.direction); + core.setHeroLoc('x', heroLoc.x); + core.setHeroLoc('y', heroLoc.y); + core.clearMap('hero', 0, 0, 416, 416); + core.drawHero(); - var changed = function () { - core.unLockControl(); - core.status.replay.animate=false; - core.events.afterChangeFloor(floorId); - if (core.isset(callback)) callback(); - } - if (displayAnimate) { - core.hide(core.dom.floorMsgGroup, time/4, function () { - changed(); - }); - } - else { + var changed = function () { + core.unLockControl(); + core.status.replay.animate=false; + core.events.afterChangeFloor(floorId); + if (core.isset(callback)) callback(); + } + if (displayAnimate) { + core.hide(core.dom.floorMsgGroup, time/4, function () { changed(); - } - }, 25) + }); + } + else { + changed(); + } }); } core.playSound('floor.mp3'); diff --git a/libs/maps.js b/libs/maps.js index 39a0e306..00ca6627 100644 --- a/libs/maps.js +++ b/libs/maps.js @@ -389,8 +389,10 @@ maps.prototype.drawMap = function (mapName, callback) { } } else { drawEvent(); + core.setGlobalAnimate(core.values.animateSpeed); + core.drawHero(); + core.updateStatusBar(); } - core.setGlobalAnimate(core.values.animateSpeed); if (core.isset(callback)) callback(); } @@ -398,7 +400,7 @@ maps.prototype.drawMap = function (mapName, callback) { ////// 绘制Autotile ////// maps.prototype.drawAutotile = function(ctx, mapArr, block, size, left, top){ var indexArrs = [ //16种组合的图块索引数组; // 将autotile分割成48块16*16的小块; 数组索引即对应各个小块 - // +----+----+----+----+----+----+ + // +----+----+----+----+----+----+ [10, 9, 4, 3 ], //0 bin:0000 | 1 | 2 | 3 | 4 | 5 | 6 | [10, 9, 4, 13], //1 bin:0001 +----+----+----+----+----+----+ [10, 9, 18, 3 ], //2 bin:0010 | 7 | 8 | 9 | 10 | 11 | 12 | @@ -899,8 +901,5 @@ maps.prototype.drawAnimate = function (name, x, y, callback) { maps.prototype.resetMap = function() { var floorId = core.status.floorId; core.status.maps[floorId] = this.loadFloor(floorId); - this.drawMap(floorId, function() { - core.drawHero(); - core.updateStatusBar(); - }) + this.drawMap(floorId) } \ No newline at end of file diff --git a/project/items.js b/project/items.js index 475f59cb..94a57ff9 100644 --- a/project/items.js +++ b/project/items.js @@ -278,13 +278,13 @@ items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = "useItemEffect": { "book": "core.ui.drawBook(0);", "fly": "core.ui.drawFly(core.status.hero.flyRange.indexOf(core.status.floorId));", - "earthquake": "core.removeBlockByIds(core.status.floorId, core.status.event.data);\ncore.drawMap(core.status.floorId, function () {\n core.drawHero();\n core.updateFg();\n core.drawTip(core.material.items[itemId].name + '使用成功');\n});", - "pickaxe": "core.removeBlockByIds(core.status.floorId, core.status.event.data);\ncore.drawMap(core.status.floorId, function () {\n core.drawHero();\n core.updateFg();\n core.drawTip(core.material.items[itemId].name + '使用成功');\n});", - "icePickaxe": "core.removeBlockByIds(core.status.floorId, core.status.event.data);\ncore.drawMap(core.status.floorId, function () {\n core.drawHero(), 'stop');\n core.updateFg();\n core.drawTip(core.material.items[itemId].name + '使用成功');\n});", - "snow": "core.removeBlockByIds(core.status.floorId, core.status.event.data);\ncore.drawMap(core.status.floorId, function () {\n core.drawHero();\n core.updateFg();\n core.drawTip(core.material.items[itemId].name + '使用成功');\n});", - "bigKey": "core.removeBlockByIds(core.status.floorId, core.status.event.data);\ncore.drawMap(core.status.floorId, function () {\n core.drawHero();\n core.updateFg();\n core.drawTip(core.material.items[itemId].name + '使用成功');\n});", - "bomb": "core.removeBlockByIds(core.status.floorId, core.status.event.data);\ncore.drawMap(core.status.floorId, function () {\n core.drawHero();\n core.updateFg();\n core.drawTip(core.material.items[itemId].name + '使用成功');\n core.events.afterUseBomb();\n});", - "hammer": "core.removeBlockByIds(core.status.floorId, core.status.event.data);\ncore.drawMap(core.status.floorId, function () {\n core.drawHero();\n core.updateFg();\n core.drawTip(core.material.items[itemId].name + '使用成功');\n core.events.afterUseBomb();\n});", + "earthquake": "core.removeBlockByIds(core.status.floorId, core.status.event.data);\ncore.drawMap(core.status.floorId, function () {\n core.drawTip(core.material.items[itemId].name + '使用成功');\n});", + "pickaxe": "core.removeBlockByIds(core.status.floorId, core.status.event.data);\ncore.drawMap(core.status.floorId, function () {\n core.drawTip(core.material.items[itemId].name + '使用成功');\n});", + "icePickaxe": "core.removeBlockByIds(core.status.floorId, core.status.event.data);\ncore.drawMap(core.status.floorId, function () {\n core.drawTip(core.material.items[itemId].name + '使用成功');\n});", + "snow": "core.removeBlockByIds(core.status.floorId, core.status.event.data);\ncore.drawMap(core.status.floorId, function () {\n core.drawTip(core.material.items[itemId].name + '使用成功');\n});", + "bigKey": "core.removeBlockByIds(core.status.floorId, core.status.event.data);\ncore.drawMap(core.status.floorId, function () {\n core.drawTip(core.material.items[itemId].name + '使用成功');\n});", + "bomb": "core.removeBlockByIds(core.status.floorId, core.status.event.data);\ncore.drawMap(core.status.floorId, function () {\n core.drawTip(core.material.items[itemId].name + '使用成功');\n core.events.afterUseBomb();\n});", + "hammer": "core.removeBlockByIds(core.status.floorId, core.status.event.data);\ncore.drawMap(core.status.floorId, function () {\n core.drawTip(core.material.items[itemId].name + '使用成功');\n core.events.afterUseBomb();\n});", "centerFly": "core.clearMap('hero', 0, 0, 416, 416);\ncore.setHeroLoc('x', core.status.event.data.x);\ncore.setHeroLoc('y', core.status.event.data.y);\ncore.drawHero();\ncore.drawTip(core.material.items[itemId].name + '使用成功');", "upFly": "var loc = {'direction': core.status.hero.loc.direction, 'x': core.status.event.data.x, 'y': core.status.event.data.y};\ncore.changeFloor(core.status.event.data.id, null, loc, null, function (){\n core.drawTip(core.material.items[itemId].name + '使用成功');\n core.replay();\n});", "downFly": "var loc = {'direction': core.status.hero.loc.direction, 'x': core.status.event.data.x, 'y': core.status.event.data.y};\ncore.changeFloor(core.status.event.data.id, null, loc, null, function (){\n core.drawTip(core.material.items[itemId].name + '使用成功');\n core.replay();\n});", diff --git a/更新说明.txt b/更新说明.txt index db473dce..604ffcee 100644 --- a/更新说明.txt +++ b/更新说明.txt @@ -9,7 +9,9 @@ 最大存档个数提到main处理 √ 新建地图可以保留楼层属性 √ 道具描述过长时可以自动换行 √ +除Autotile外均可自动注册 重写大部分教程,新增大量拓展描述 √ +便捷PS工具修复宽大于高时的闪退问题 修复转向触发事件的朝向Bug √ 修复flyRange的顺序问题 √ 部分细节优化 √ From 1ec381bbdc86a4502cb236b428f1f608714bbfb1 Mon Sep 17 00:00:00 2001 From: oc Date: Fri, 18 May 2018 00:09:07 +0800 Subject: [PATCH 07/11] Auto register --- _server/editor_file.js | 41 ++++++++++++++++++++++++++++++------ libs/core.js | 4 ++-- libs/maps.js | 13 +++++++++--- project/icons.js | 8 +++---- project/images/animates.png | Bin 25215 -> 25462 bytes project/images/terrains.png | Bin 28884 -> 29309 bytes 6 files changed, 50 insertions(+), 16 deletions(-) diff --git a/_server/editor_file.js b/_server/editor_file.js index ae7dac9e..d87551a4 100644 --- a/_server/editor_file.js +++ b/_server/editor_file.js @@ -161,11 +161,25 @@ editor_file = function (editor, callback) { var image = info.images; + if (image=='autotile') { + callback('不能对自动元件进行自动注册!'); + return; + } + /* if (image!='items' && image.indexOf('enemy')!=0) { callback('只有怪物和道具才能自动注册!'); return; } - var c=image=='items'?'I':'M'; + */ + var c=image.toUpperCase().charAt(0); + + // terrains id + var terrainsId = []; + Object.keys(core.material.icons.terrains).forEach(function (id) { + terrainsId[core.material.icons.terrains[id]]=id; + }) + //console.log(terrainsId); + //return; var allIds = []; editor.ids.forEach(function (v) { @@ -180,17 +194,25 @@ editor_file = function (editor, callback) { for (var y=0; y0) + saveSetting('icons', iconActions, tempcallback); + else tempcallback(null); + saveSetting('maps', mapActions, tempcallback); + if (image=='items') saveSetting('items', templateActions, tempcallback); - else + else if (image.indexOf('enemy')==0) saveSetting('enemys', templateActions, tempcallback); + else tempcallback(null); } editor_file.changeIdAndIdnum = function (id, idnum, info, callback) { diff --git a/libs/core.js b/libs/core.js index 78d0a7fa..888725f0 100644 --- a/libs/core.js +++ b/libs/core.js @@ -889,8 +889,8 @@ core.prototype.debug = function() { } ////// 重置当前地图 ////// -core.prototype.resetMap = function() { - core.maps.resetMap(); +core.prototype.resetMap = function(floorId) { + core.maps.resetMap(floorId); } ////// 开始播放 ////// diff --git a/libs/maps.js b/libs/maps.js index 00ca6627..d631cf43 100644 --- a/libs/maps.js +++ b/libs/maps.js @@ -898,8 +898,15 @@ maps.prototype.drawAnimate = function (name, x, y, callback) { }, 50); } -maps.prototype.resetMap = function() { - var floorId = core.status.floorId; +maps.prototype.resetMap = function(floorId) { + var floorId = floorId||core.status.floorId; core.status.maps[floorId] = this.loadFloor(floorId); - this.drawMap(floorId) + if (floorId==core.status.floorId) { + this.drawMap(floorId, function () { + core.drawTip("地图重置成功"); + }) + } + else { + core.drawTip(floorId+"地图重置成功"); + } } \ No newline at end of file diff --git a/project/icons.js b/project/icons.js index 1b6208fe..b7461654 100644 --- a/project/icons.js +++ b/project/icons.js @@ -27,8 +27,8 @@ icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 = 'white': 17, 'ground6': 18, 'soil': 19, - 'star': 20, - 'lava': 21, + 'ground7': 20, + 'ground8': 21, 'ice': 22, 'downFloor': 23, 'upFloor': 24, @@ -70,9 +70,9 @@ icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 = 'lavaDoor': 13, 'starDoor': 14, 'starPortal': 15, - //'exclamation': 16, + 'fire': 16, 'portal': 17, - //'switch': 18, + 'switch': 18, 'lavaNet': 19, 'poisonNet': 20, 'weakNet': 21, diff --git a/project/images/animates.png b/project/images/animates.png index 0bfad0dfdf4115abfc413d69aead79f1f958b122..f62452858ecfc7111b8c21f8a655357a2dd1d5f9 100644 GIT binary patch delta 19796 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 Tl&sq5;T~}xojK8PoSXL_<>u87 delta 19556 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 diff --git a/project/images/terrains.png b/project/images/terrains.png index 246de0cb4b60ff0a674d02e7e4229d7702c2c311..55239f66d6997cf2a8d17956db36f449325c975a 100644 GIT binary patch delta 28237 zcmYIvcTm$$^et5cl-`soy(9XS9thGcfJjrSbcGPF3a~LKpm|}K2=%?ndHY*|lbrH)L z{c8R{qBzj9LQub^`r>!&H$JNYr&NB!s*u>_jyfa=jb3jmwhy`KI+3_c<00>ndfkXk zEH!W|D|KEO)-MfE_urX)pX@_3As+EE$l;9spxwFg!ZiDHrPc1H#N0OcwRxv+WJ{HR z`Rt0yHdt1?^bcKx^KA7C%Q!{nzWPB#ah1>PLn5ORKk<95LAwWXqbXT)z}`m4nZJ2%r>H9= zeC-Cysx7CrD>7nP<6JiaeIx!#%2#|6Xy&B%A69qu+s3(DOz$B{()5No=;k@U2nQD& zm!Xv_?=`J06e5xK##iLVzqq^tJc!Hv>{tm*9yH4#&+Dnlf)npz`?Ng?>w5uYA>GhF zg8Js(3CcZC+gnVi8T@v3flqy?h%fy7tWN+p+pZPwO*tm}vggkDxrg8Y4lHq)`5m^!au||EI`;vJ5tk@?`qV#kGs7lk8@EoATX& zTPWA3+EF-@%Oj_Y!HY@A#@Gh%RAMcSBg5pgp$HU|d4F&);Y$|3gXke-N8o|88pp~# zeQ7$szV_3>&%eJtzfN|vkaUeVDmG8IWZ4KKD4!I>q$dW7CjAavE_r_anwjL@8$sj) zx_HGny0&$R)FvRqyyriI;*zJQgK1!j3`rmX6h4g$}@Y&flY}A?3K!U#%!sD(p z@mcn=x%K&-KCz(ZZ*;z)6MB*Zm_A zQc)EPRErsUi!t=_ct1`_Sj#RaZL@*t1{O@&aQB$DV>9pSXMPu5a<;S(kewMUM4LE^ z?rV_-GfNE&BAwWxHLM?5030C5O7`$Ki(U}za|)%Rx7l`*UWwY@(56{{4RL@Pn_b=PF5UZ#Ky|7!Xc%XYo9?m&);tK`;m#- zLpdQKynP?KRjx=235XtX=u?44;+=ny#PvhDz&Rg9_Kj?!vYy{J1Nv0!V#9T?@kWSUaJBD(~)FU+u5;sJRp_qw$gP zC?~2uJw0f2P1V$VG7QK`Vw^Nz{908TOt#1tJ*{?vum={U-K^k|@*Qb#9c;J0cKB}5 z`_XSdREo5*Hf@H6ChdETwqx`ESQ2Yu!n1kpP*kcvqlz}bk2oUCxLboi`F#(UW$O`l zn31s$VsRE-c$DVEW_06Yok@M3qUPp)*;60qRqkZr+-fP$88k0GhF+-C|6}< zBC^?NbVT(l%*TX92j$*@&Q3MB65q0G#KEjJC)!ytw)=zJS(9&rnRhNsHCZ?P@pq?f z5od3z=BX%dlrqo*s7azZb)Q<%las8hiVEREL&fRh*|BviA6DHR#XIYce|xOQZ8cFp zPsQJ-iH7pK^hI?YD74e7GWxRVEbvPgbxCFP-=6tM+ljv=HpVqWB~9@%N&#SoBGPJgsUtHOxLkxyxUyt!&>}uFu7Meb zB-+%djRLrA&P22CcP3|?bLtd%9azAf6jA()1F2PN5_adVJug<0))Oj51v#X<5Qo1k z@326%qVjo~i>yf=y?rV(cXM@;KO(#W)e|3P9ao1>Nc6~F6<~g4; zsOv_#Wiz8=ag>HpHp9AQDyR%u>2sFuMpi)qhE-9|WRBb&pU2hl9;vzpWk;zK zw$4S!V3)I%>|&MLpa(zEdVc&Gy%c>lqo;L}y+5jfqXV5r25OvZ|2hl)j}j6|4L)Q}PP~ zFlazek#KKX#>!`tgFV4W;v>@+WAz83Wp~BRqOh6&IQ^M=d2a%GwO7UxF*1z44YQS* zv8CJ>`cihAZS#dbpEFKb@wdovn`z_+1BpIGsnSv_s{i5gvC@c<-`@W+8B7T>^uMGQ zbNuz@Yg1`ve@L>3f=}`@;Q!NDL_CAJBQB1K{*M&cv*vHN<+er-{{EcyHbuoUPJCnY zdksNr8$6#Fe5u2LIlW?Tu$JW2LoGpdX01mVn(3KWP0iJ5>tmSVTq);V*?ZfhJ^8=C z9ggN~lr5Q_zgG8QNwH2|Q-9eZYbCh}3|Bu53j{>Td&mRJ!ks)tR;{~2eTLYrCy#`s zXxFjqIJacxP~w*PeAp4+fQmt1OwHthh*c<44=MV+@jX9Wz*N7>>=8?*vGb@N4d%N@ zWjObM;Vnx^ke^rb#8%+Xa|CthjvmO2KZ))(gz`#^nOP1`gPCeldMP$4L^f8QP5A%P zQ)}TJ@aXDDVYqLX#A3JNl^fCWfd+nOnFdNOO|(%xhMa7x$)JK)bN=9xR7|E}VwOoM zkLMFF_j74WmWtj1o^QgUx-o_jS~JyEkpz3XkBUXr#7Vy>3m>jk(Ra=2=HRzC*t>1x z7$cG?XZMrbujC&H4a-G|jq&}b`d!kD&XoN7E-?LSKj9>DnHhj*yrYS|p3T&iyO=rQURv(~&+YGVEZ$7D;mux}Evv}cw@R6Z=sVqO#($&wiX?{Mppk;VtOh$d+tJUk;WTQ-1 zH(1!3EJI@hOwGWGDdp?;g^OsUb@RsiBa-9G2flPe%PP2=5y{DaLd^rLTg)=*bG30DiWcqJuYPaBW944`wQy1EP4oYfu+e zrbvI==mIBFJ3XW-`f1_x>}%EUHCi=o#RRaxwW(-pUB6PNVnm{~@_)_w)-|s4M$2@R zpjQ)v0<1{x75}U1fObN;7i(y+Vrps2muNo;53#5wCI|Tv=7a|Rn%waA^X+m`?U1W) z!v!zSi`gVO=-18;{wbRWuhL%ABs>4!l#%LDU6Br}lu-x2807hv8}Gd)teQ7@AyIPi zNluI9)Kq>fC(UD4@#oftLMDrU?A?nPXkO0a9;I6^&~UI8KT7j=r33Q~OI_)ezxsqb zfxsz7S!3xWU@9zRr&%?*)=^N%-Ft7jV1TuRpebG@{f$Ytt)Mc%=2j6jjBQ92<2T32 z;ar-fP(zwaw9mT6bOYGQ)OR}IHa9e7;!IYJhLvf=)>jSP03mn7s}6leo&?Ab+_KX> z<4YGAP)`@xc0TzTrBFH`g|RNfg1uf?wEV|a+{U0tx1v#Yw561MCEG%7gcWyMZb(Bo z)tLCqb5_c9JKkvZ*ZoX2l@V>bixPx%87#KxQsdG>n!J`%$PFAkydWlt-+GP0ovxk| zhZQn$Q$Ms$x=*yJ4iylm!o3muu7^tu4#Z^J_D9w=%NK)%8VMbPPum}{v-OAubQnL9 z6*x3M)8TP+c-BL4={m*t%X-f2LvzdzaFIUCf>tH_m^&O_Xf6Jsx3wkFgUJh6M z)>rh2-@R9!8(4-?RjT=&Jq^n1UXqu3?0|WPtA^x# z1b#~+IPO7yT7dq8!euWb!9%lhjaVusHI>`u?wh|8vMwtD+lb`9)A#$O`g8siTRo9W zkMVkve8NQ3`)K}d{Y%nGO`4WM<|Xz}$)U7>*Q*RBhLU>3#G1|YukQ+p(WFmYnRUk9 z9ha_e-y-&Ka-l^4HP(bEB`TgniTBUH)g(>}f2Kc>Vua(puv`!|BQ24#0U?b-w}UK$GmrIpOkGqXf)eQo3}4UZ&3GVwCk)5sht{h zzhs;8&2ExHSld9^_NAiD|Kk96ZFsIq0e70i-6{(ECX z_kez?_>MNErO`4B_72TZy8KZ-hT2f$>}Dn_A7HN_GVUT-<|Niz(Kxd4>$domweAhi z7o#DQ5(RgUR*kBh5w?z>3oP|^#^IUpF+B$RvnN^R(Yj`GK~nc6jPJqC{0@3fu9JJ; zd?zhwi`RM=WUbpm#GlCc+%*VuPfX>A&6b$fhI#8q#KbUPEwyj2z1RPkjp52;-^c1S zzh!`?@fZEv1981ZX^(8cl;d8*aa)~lG`}=Lf<@us&&#aka9c08qq*1xA4y*;edy5p zDLYOsWo_L5RZ8CGGjgQguZSQ?eVUR=_93S4dQ_0?tXxk<;mpU(AE|o2>*SlV4P=>Z zGA_nIdMDso)xts}cXcswEFJ=GaL%4A*)dCimy)FgTsu3&ML90ozw`Wpc}P%&oHCc} z>CGRzto^ps>3hb%j%{AA*m?3yEwP_wqDq6Cv&eM8%4#j^wt(R+u9UZL-TFfXt+~Ma zvlH>yYaC%~Xl-<3S$Sf#q4*g`P;7Jd!D(ZT!$1aX=~Q7vll1UzX@~9U8sPP1%%B-) zDlC*_QX;t4?+v=^BC|ZXS%akCK=s|;;gW-s`x{lo!!1RYkrc(-HxtF0~ zPdJAq-HrBRtH*$-B)u+Svp9>5UNyn`nxTT7F~y}4)r0T4zHZ4`Y%(|49JCc{DcAJY z)wqUvvfYJDN?kUyg-}z9bI!@jdrtuS=#Z&%Su89(~;eucP2Xt=v-2hRPn(3d~&tQ9wo+e8s^V?k9s%P)xOyy_;^eB|p zLxkskHk(=TiBjcT#@9U`u!U*d@Zo!qzA-@J>~`W+(We@DQC_TKKqZ<}#U^zxb$MI( zP>tA5TKzxY~%o=5{ zp?b-Z6~)1?@q-!_)VEn`C4fbFvVxg;-oRSG={k?(ZDg4^WT+0P71I(oU@$t?D`HLp zaB(U-*#c;aKbU{u_yE$9HOHY%iOS;T)X~3rVO&@(Cc}kBJ?71vvi8FwAAfeN;~Ft` z-tv=@#I)eaMRF#5_*uBb*)8^H4I`Qa0iJzF;S34R(x=OtRm2#7ibDPTtWr)R^Oqhm zS;;CJz2$u@x0pV1BT3c$eD~jI-Ci}eD4(&-%xw)8&=KG=*JBZ-qM);U^GmvbS};*2 z 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 Srj5eH_?V%rj7yC?qW>5FzP%v; delta 27777 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 From e3c923d059522d939af6f44313fcca16d306ee86 Mon Sep 17 00:00:00 2001 From: oc Date: Fri, 18 May 2018 00:19:56 +0800 Subject: [PATCH 08/11] Auto register --- _server/editor_file.js | 8 -------- 更新说明.txt | 2 +- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/_server/editor_file.js b/_server/editor_file.js index d87551a4..711a1bb1 100644 --- a/_server/editor_file.js +++ b/_server/editor_file.js @@ -165,12 +165,6 @@ editor_file = function (editor, callback) { callback('不能对自动元件进行自动注册!'); return; } - /* - if (image!='items' && image.indexOf('enemy')!=0) { - callback('只有怪物和道具才能自动注册!'); - return; - } - */ var c=image.toUpperCase().charAt(0); // terrains id @@ -178,8 +172,6 @@ editor_file = function (editor, callback) { Object.keys(core.material.icons.terrains).forEach(function (id) { terrainsId[core.material.icons.terrains[id]]=id; }) - //console.log(terrainsId); - //return; var allIds = []; editor.ids.forEach(function (v) { diff --git a/更新说明.txt b/更新说明.txt index 604ffcee..e2bcf947 100644 --- a/更新说明.txt +++ b/更新说明.txt @@ -9,7 +9,7 @@ 最大存档个数提到main处理 √ 新建地图可以保留楼层属性 √ 道具描述过长时可以自动换行 √ -除Autotile外均可自动注册 +除Autotile外均可自动注册 √ 重写大部分教程,新增大量拓展描述 √ 便捷PS工具修复宽大于高时的闪退问题 修复转向触发事件的朝向Bug √ From c0fb3621caf91482cc0cc5223e77e874b0b24dcd Mon Sep 17 00:00:00 2001 From: oc Date: Fri, 18 May 2018 00:50:47 +0800 Subject: [PATCH 09/11] new door & remove dragon --- _server/editor_blockly.js | 20 ++++++++++++++++++++ docs/personalization.md | 13 +++++++++++++ 更新说明.txt | 3 ++- 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/_server/editor_blockly.js b/_server/editor_blockly.js index bf550b8b..c973de71 100644 --- a/_server/editor_blockly.js +++ b/_server/editor_blockly.js @@ -191,6 +191,26 @@ editor_blockly = function () { "false": [] }, ],'afterBattle'), + '', + MotaActionFunctions.actionParser.parse([ + {"type": "setValue", "name": "flag:y", "value": "core.status.event.data.y-2"}, + {"type": "setValue", "name": "flag:x", "value": "core.status.event.data.x-1"}, + {"type": "hide", "loc": ["flag:x", "flag:y"]}, + {"type": "setValue", "name": "flag:x", "value": "core.status.event.data.x"}, + {"type": "hide", "loc": ["flag:x", "flag:y"]}, + {"type": "setValue", "name": "flag:x", "value": "core.status.event.data.x+1"}, + {"type": "hide", "loc": ["flag:x", "flag:y"]}, + {"type": "setValue", "name": "flag:y", "value": "core.status.event.data.y-1"}, + {"type": "hide", "loc": ["flag:x", "flag:y"]}, + {"type": "setValue", "name": "flag:x", "value": "core.status.event.data.x"}, + {"type": "hide", "loc": ["flag:x", "flag:y"]}, + {"type": "setValue", "name": "flag:x", "value": "core.status.event.data.x-1"}, + {"type": "hide", "loc": ["flag:x", "flag:y"]}, + {"type": "setValue", "name": "flag:y", "value": "core.status.event.data.y"}, + {"type": "hide", "loc": ["flag:x", "flag:y"]}, + {"type": "setValue", "name": "flag:x", "value": "core.status.event.data.x+1"}, + {"type": "hide", "loc": ["flag:x", "flag:y"]}, + ],'afterBattle'), '', MotaActionFunctions.actionParser.parse({ "trigger": "action", diff --git a/docs/personalization.md b/docs/personalization.md index 593716ae..d72a4e0b 100644 --- a/docs/personalization.md +++ b/docs/personalization.md @@ -309,6 +309,19 @@ control.prototype.checkBlock = function () { ``` 4. 如果有更高的需求,例如想让吸血效果变成一半,则还是在上面这些地方进行对应的修改即可。 +## 新增门和对应的钥匙 + +如果要新增一个门和对应的钥匙,需要进行如下几步: + +1. 在terrains.png中添加新的门的素材,并在地图编辑器中注册门的ID。该ID必须是以`Door`结尾,例如`abcDoor`。 +2. 在animates.png中添加开门的四格动画,然后直接打开icons.js文件,在animates下直接添加ID和索引信息,例如`'abcDoor': 34`。 +3. 在items.png中添加钥匙的素材,并在地图编辑器中注册钥匙的ID。该ID必须是和门对应且以`Key`结尾,例如`abcKey`。 +4. 该道具的cls应为`tools`,可以自行写道具描述,最下面几项均留`null`即可。 + +!> **请勿在animates中对门的动画素材进行注册!而是请直接打开icons.js文件并添加ID和索引信息!!!** + +!> terrains和animates的门ID必须完全一致,且以`Door`结尾;所对应的钥匙ID应当是把`Door`换成`Key`,这样才能对应的上! + ## 自定义装备 由于HTML5魔塔并不像RM那样存在一个装备界面可供我们对装备进行调整,但是我们也可以使用一个替代的方式实现这个目标。 diff --git a/更新说明.txt b/更新说明.txt index e2bcf947..da8897e6 100644 --- a/更新说明.txt +++ b/更新说明.txt @@ -11,7 +11,8 @@ 道具描述过长时可以自动换行 √ 除Autotile外均可自动注册 √ 重写大部分教程,新增大量拓展描述 √ -便捷PS工具修复宽大于高时的闪退问题 +部分素材进行了替换 √ +便捷PS工具偶尔的闪退问题 修复转向触发事件的朝向Bug √ 修复flyRange的顺序问题 √ 部分细节优化 √ From d6b217730bff25e826059eaa2dcb9bdf19ff389d Mon Sep 17 00:00:00 2001 From: oc Date: Fri, 18 May 2018 09:48:41 +0800 Subject: [PATCH 10/11] PGUP change floor --- _server/editor.js | 23 +++++++++++++++++++++++ 更新说明.txt | 8 +++----- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/_server/editor.js b/_server/editor.js index 7f9d1fca..d2a6b517 100644 --- a/_server/editor.js +++ b/_server/editor.js @@ -542,6 +542,29 @@ editor.prototype.listen = function () { currDrawData = JSON.parse(JSON.stringify(reDo)); reDo = null; } + // PGUP和PGDOWN切换楼层 + if (e.keyCode==33) { + e.preventDefault(); + var index=editor.core.floorIds.indexOf(editor.currentFloorId); + if (index>0) { + var toId = editor.core.floorIds[index-1]; + editor_mode.onmode('nextChange'); + editor_mode.onmode('floor'); + document.getElementById('selectFloor').value = toId; + editor.changeFloor(toId); + } + } + if (e.keyCode==34) { + e.preventDefault(); + var index=editor.core.floorIds.indexOf(editor.currentFloorId); + if (index Date: Fri, 18 May 2018 15:14:21 +0800 Subject: [PATCH 11/11] Update Docs --- _server/blockly/MotaAction.g4 | 2 +- docs/api.md | 31 ++++---- docs/event.md | 19 ++++- docs/personalization.md | 141 +++++++++++++++++++++++++++++++--- 4 files changed, 168 insertions(+), 25 deletions(-) diff --git a/_server/blockly/MotaAction.g4 b/_server/blockly/MotaAction.g4 index e6f97b4f..4fc0c32f 100644 --- a/_server/blockly/MotaAction.g4 +++ b/_server/blockly/MotaAction.g4 @@ -1000,7 +1000,7 @@ function_s /* function_s -tooltip : function: 自定义JS脚本 +tooltip : function: 自定义JS脚本\n可以双击进行多行编辑,常见可能会被用到的系统API请参见文档的附录 helpUrl : https://ckcz123.github.io/mota-js/#/event?id=function%EF%BC%9A%E8%87%AA%E5%AE%9A%E4%B9%89js%E8%84%9A%E6%9C%AC default : ["alert(core.getStatus(\"atk\"));"] colour : this.dataColor diff --git a/docs/api.md b/docs/api.md index 23fdd3a7..fbd09055 100644 --- a/docs/api.md +++ b/docs/api.md @@ -1,4 +1,4 @@ -# 附录:API列表 +# 附录: API列表 ?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} * @@ -8,6 +8,8 @@ 可以在chrome浏览器的控制台中(`ctrl+shift+I`,找到Console)中直接进行调用,以查看效果。 +**以下所有异步API都会加上[异步]的说明,存在此说明的请勿在事件处理的自定义脚本中使用。** + !> 最常用的新手向命令,强烈建议每个人了解 ``` text @@ -94,13 +96,14 @@ core.hasFlag('xyz') 返回是否存在某个变量且不为0。等价于 core.getFlag('xyz', 0)!=0 。 -core.insertAction(list) +core.insertAction(list, x, y, callback) 插入并执行一段自定义事件。在这里你可以写任意的自定义事件列表,有关详细写法请参见文档-事件。 +x和y如果设置则覆盖"当前事件点"的坐标,callback如果设置则覆盖事件执行完毕后的回调函数。 例如: core.insertAction(["楼层切换", {"type":"changeFloor", "floorId": "MT3"}]) 将依次显示剧情文本,并执行一个楼层切换的自定义事件。 -core.changeFloor(floorId, stair, heroLoc, time, callback) +core.changeFloor(floorId, stair, heroLoc, time, callback) [异步] 立刻切换到指定楼层。 floorId为目标楼层ID,stair为到达的目标楼梯,heroLoc为到达的指定点,time为动画时间,callback为切换完毕后的回调。 例如: @@ -140,12 +143,12 @@ core.nextX() core.nextY() 获得勇士面向的下一个位置的y坐标 -core.openDoor(id, x, y, needKey, callback) +core.openDoor(id, x, y, needKey, callback) [异步] 尝试开门操作。id为目标点的ID,x和y为坐标,needKey表示是否需要使用钥匙,callback为开门完毕后的回调函数。 例如:core.openDoor('yellowDoor', 10, 3, false, function() {console.log("1")}) -core.battle(id, x, y, force, callback) +core.battle(id, x, y, force, callback) [异步] 执行战斗事件。id为怪物的id,x和y为坐标,force为bool值表示是否是强制战斗,callback为战斗完毕后的回调函数。 例如:core.battle('greenSlime', null, null, true) @@ -220,8 +223,9 @@ core.drawTip(text, itemIcon) 在左上角绘制一段提示信息,2秒后消失。itemIcon为道具图标的索引。 -core.drawText(contents, callback) +core.drawText(contents, callback) [异步] 绘制一段文字。 +不推荐使用此函数,尽量使用core.insertAction(contents)来显示剧情文本。 core.closePanel() @@ -261,7 +265,7 @@ num如果设置大于0,则生成一个[0, num-1]之间的数;否则生成一 但是,此函数会将生成的随机数值存入录像,因此如果调用次数太多则会导致录像文件过大。 -core.restart() +core.restart() [异步] 返回标题界面。 @@ -346,15 +350,16 @@ core.events.gameOver(ending, fromReplay) 该函数将提问是否上传和是否下载录像,并返回标题界面。 -core.events.doEvents(list, x, y, callback) +core.events.doEvents(list, x, y, callback) [异步] 开始执行某个事件。 +请不要执行此函数,尽量使用 core.insertAction(list, x, y, callback) 来开始执行一段事件。 core.events.doAction() 执行下一个事件。此函数中将对所有自定义事件类型分别处理。 -core.events.openShop(shopId, needVisited) +core.events.openShop(shopId, needVisited) [异步] 打开一个全局商店。needVisited表示是否需要该商店已被打开过。 @@ -438,12 +443,12 @@ core.utils.decodeRoute(route) 解压缩(解密)路线。 -core.utils.readFile(success, error, readType) +core.utils.readFile(success, error, readType) [异步] 尝试请求读取一个本地文件内容。 success和error为成功/失败后的回调,readType不设置则以文本读取,否则以DataUrl形式读取。 -core.utils.readFileContent(content) +core.utils.readFileContent(content) [异步] 文件读取完毕后的内容处理。 @@ -455,9 +460,9 @@ core.utils.copy(data) 尝试复制一段文本到剪切板。 -core.utils.http(type, url, formData, success, error, mimeType, responseType) +core.utils.http(type, url, formData, success, error) [异步] 发送一个异步HTTP请求。 type为'GET'或者'POST';url为目标地址;formData如果是POST请求则为表单数据。 -success为成功后的回调,error为失败后的回调,最后两个参数如果设置则覆盖。 +success为成功后的回调,error为失败后的回调。 ``` diff --git a/docs/event.md b/docs/event.md index 2e3eda7b..7fe90b60 100644 --- a/docs/event.md +++ b/docs/event.md @@ -1169,7 +1169,24 @@ choices为一个数组,其中每一项都是一个选项列表。 `{"type":"function"}`需要有一个`"function"`参数,它是一个JS函数,里面可以写任何自定义的JS脚本;系统将会执行它。 -系统所有支持的API都在[附录](api)中给出,请进行参照。 +系统常见可能会被造塔所用到的的API都在[附录:API列表](api)中给出,请进行参照。 + +**警告:自定义脚本中只能执行同步代码,不可执行任何异步代码,比如直接调用core.changeFloor(...)之类都是不行的。** + +[附录:API列表](api)中的所有异步API都进行了标记;如果你不确定一个函数是同步的还是异步的,请向小艾咨询。 + +如果需要异步的代码都需要用事件(insertAction)来执行,这样事件处理过程和录像回放才不会出错。 + +举个例子,如果我们想随机切换到某个楼层的某个点,我们可以这么写自定义脚本: + +``` js +var toFloor = core.floorIds[core.rand(core.floorIds.length)]; // 随机一个楼层ID +var toX = core.rand(13), toY = core.rand(13); // 随机一个点 +core.insertAction([ + {"type": "changeFloor", "floorId": toFloor, "loc": [toX, toY]} // 插入一个changeFloor事件,并在该脚本结束后执行。 +]) +// 请勿直接调用 core.changeFloor(toFloor, ...),这个代码是异步的,会导致事件处理和录像出问题! +``` ## 同一个点的多事件处理 diff --git a/docs/personalization.md b/docs/personalization.md index d72a4e0b..f7a59f18 100644 --- a/docs/personalization.md +++ b/docs/personalization.md @@ -322,6 +322,39 @@ control.prototype.checkBlock = function () { !> terrains和animates的门ID必须完全一致,且以`Door`结尾;所对应的钥匙ID应当是把`Door`换成`Key`,这样才能对应的上! +## 覆盖楼传事件 + +对于特殊的塔,我们可以考虑修改楼传事件来完成一些特殊的要求,比如镜子可以按楼传来切换表里。 + +要修改楼传事件,需要进行如下几步: + +1. 截获楼传的点击事件。在control.js中找到useFly函数,并将其替换成如下内容: +``` js +////// 点击楼层传送器时的打开操作 ////// +control.prototype.useFly = function (need) { + if (!core.status.heroStop) { + core.drawTip("请先停止勇士行动"); + return; + } + if (core.canUseItem('fly')) core.useItem('fly'); + else core.drawTip("当前无法使用"+core.material.items.fly.name); +} +``` +2. 让录像记下楼传的使用。在items.js的useItem函数中找到记录路线的那几行,修改为: +``` js + // 记录路线 + if (itemId!='book') { // 把 `&& itemId!='fly'` 给删除 + core.status.route.push("item:"+itemId); + } +``` +3. 修改楼传的使用事件。和其他永久道具一样,在地图编辑器的图块属性中修改楼传的useItemEffect和canUseItemEffect两个内容。例如: +``` js +"useItemEffect": "core.insertAction([...])" // 执行某段自定义事件,或者其他脚本 +"canUseItemEffect": "true" // 任何时候可用 +``` +修改时,请先把`null`改成空字符串`""`,然后再双击进行编辑。 + + ## 自定义装备 由于HTML5魔塔并不像RM那样存在一个装备界面可供我们对装备进行调整,但是我们也可以使用一个替代的方式实现这个目标。 @@ -409,6 +442,37 @@ this.useEquipment = function (itemId) { // 使用装备 `getCritical`, `getCriticalDamage`和`getDefDamage`三个函数依次计算的是该怪物的临界值、临界减伤和1防减伤。也可以适当进行修改。 +## 自定义快捷键 + +如果需要绑定某个快捷键为处理一段事件,也是可行的。 + +要修改按键,我们可以在`actions.js`的`keyUp`进行处理: + +比如,我们设置一个快捷键进行绑定,比如`W`,其keycode是87。(有关每个键的keycode搜一下就能得到) + +然后在`actions.js`的`keyUp`函数的`switch`中进行处理。 + +``` js +case 87: // W + if (core.status.heroStop) { + // ... 在这里写你要执行脚本 + // 请使用同步脚本,请勿执行任何异步代码,否则可能导致游戏过程或录像出现问题。 + core.insertAction([...]) // 例如,插入一段自定义事件并执行。 + + core.status.route.push("key:"+keyCode); // 录像的支持!这句话必须要加,不然录像回放会出错! + } + break; +``` + + +在勇士处于停止的条件下,按下W键时,将执行你写的脚本代码。请只使用同步脚本而不要使用异步代码,不然可能导致游戏出现问题。 + +`core.status.route.push("key:"+keyCode);` 这句话是对录像的支持,一定要加(这样录像播放时也会模拟该按键)。 + +!> H5不支持组合快捷键,所以不存在`W+1`这种组合快捷键的说法! + +!> 手机端可以通过长按任何位置调出虚拟键盘,再进行按键,和键盘按键是等价的效果! + ## 公共事件 在RM中,存在公共事件的说法;也就是通过某个指令来调用一系列事件的触发。 @@ -533,26 +597,20 @@ core.statusBar.skill.innerHTML = core.getFlag('skillName', '无'); // 使用flag ### 技能的触发 -我们可以按键触发技能。 +我们可以按键触发技能。有关绑定按键请参见[自定义快捷键](#自定义快捷键)。 -要修改按键,我们可以在`actions.js`的`keyUp`进行处理: - -我们设置一个快捷键进行绑定,比如`W`,其keycode是87。(有关每个键的keycode搜一下就能得到) - -!> H5不支持组合快捷键,所以不存在`W+1`这种组合快捷键的说法! - -然后在`actions.js`的`keyUp`函数的`switch`中进行处理。 +下面是一个很简单的例子,当勇士按下W后,如果魔力不小于5点则允许开启技能"二倍斩",再次按W则关闭技能。 ``` js case 87: // W if (core.status.heroStop) { // 当前停止状态;这个if需要加,不能在行走过程中触发不然容易出错。 if (core.getFlag('skill', 0)==0) { // 判断当前是否已经开了技能 - if (能开技能) { // 这里要写当前能否开技能的条件判断 + if (core.getStatus('mana')>=5) { // 这里要写当前能否开技能的条件判断,比如魔力值至少要多少 core.setFlag('skill', 1); // 开技能1 core.setFlag('skillName', '二倍斩'); // 设置技能名 } else { - core.drawTip("当前不能开技能!"); + core.drawTip("魔力不足,无法开技能"); } } else { // 关闭技能 @@ -612,6 +670,69 @@ if (core.getFlag('skill', 0)==1) { // 开启了技能1 通过上述这几种方式,我们就能成功的让H5支持技能啦! +## 多角色的支持 + +其实,我们的样板还能支持多角色的制作。比如《黑·白·间》之类的塔也是完全可以刻的。 + +你只需要如下几步来达到多角色的效果。 + +1. 每个勇士弄一张行走图。相关信息参见[自定义事件:setHeroIcon](event#setHeroIcon:更改角色行走图) +2. [覆盖楼传事件](#覆盖楼传事件),这样可以通过点工具栏的楼层传送按钮来切换角色。 +当然你也完全可以自己写一个道具来实现,或[自定义快捷键](#自定义快捷键)来进行绑定。 +3. 在脚本编辑的setInitData中初始化新角色的属性值。 +``` js +// 所有需要保存的内容;这些保存的内容不会多角色共用,在切换时会进行恢复。 +// 你也可以自行新增或删除,比如不共用金币则可以加上"money"的初始化,不共用道具则可以加上"items"的初始化, +// 多勇士共用hp的话则删除hp,等等。 +var initData = { + "floorId": "MT0", // 该角色楼层ID + "icon": "hero2.png", // 角色的行走图名称 + "name": "2号角色", + "lv": 1, + "hp": 1000, + "atk": 10, + "def": 10, + "mdef": 0, + "loc": {"x": 0, "y": 0, "direction": "up"}, + // 不共用的数据都可以在这里加上定义 +} +core.setFlag("hero1", initData); // 将属性值存到变量中 +``` + +3. 道具(或快捷键)的脚本如下: +``` js +// 这个saveList和上面的初始化定义中的的key,除了不要icon(行走图名称)其他应完全相同。 +var saveList = ["floorId", "name", "lv", "hp", "atk", "def", "mdef", "loc"]; + +// 保存当前内容 +var toSave = {}; +saveList.forEach(function(name) { + if (name=='floorId') toSave[name] = core.status.floorId; // 楼层单独设置 + else toSave[name] = core.clone(core.status.hero[name]); // 使用core.clone()来创建新对象 +}) + +var currHeroId = core.getFlag("heroId", 0); // 获得当前角色ID +var toHeroId = (currHeroId+1)%2; // 获得要切换到的角色ID,比如 0->1,1->0 + +core.setFlag("hero"+currHeroId, toSave); // 将当前勇士信息进行保存 + +var data = core.getFlag("hero"+toHeroId); // 获得要切换的勇士保存内容 + +// 将勇士属性值设置回来 +saveList.forEach(function(name) { + if (core.isset(core.status.hero[name]) && core.isset(loadData[name])) + core.status.hero[name] = core.clone(loadData[name]); +}) + +// 插入事件:改变勇士行走图并进行楼层切换 +core.insertAction([ + {"type": "setHeroIcon", "name": loadData.icon||"hero.png"}, // 改变行走图 + {"type": "changeFloor", "floorId": loadData.floorId, "loc": [loadData.loc.x, loadData.loc.y], + "direction": loadData.loc.direction, "time": 0} +]) +core.setFlag("heroId", toHeroId); // 保存切换到的勇士ID +``` + ## 根据难度分歧来自定义地图 遗憾的是,所有地图数据必须在剧本的map中指定,换句话说,我们无法在游戏进行中动态修改地图,比如为简单难度增加一个血瓶。