From 24d185406a8eaa970cc5f5ae4fe7448ef52d72db Mon Sep 17 00:00:00 2001 From: oc Date: Thu, 10 May 2018 02:09:09 +0800 Subject: [PATCH 1/6] Update animates --- libs/events.js | 3 +- project/icons.js | 53 ++++++++++++++++-------------------- project/images/animates.png | Bin 29813 -> 25215 bytes project/maps.js | 3 +- 4 files changed, 28 insertions(+), 31 deletions(-) diff --git a/libs/events.js b/libs/events.js index bf0866fe..3158b818 100644 --- a/libs/events.js +++ b/libs/events.js @@ -842,7 +842,7 @@ events.prototype.openDoor = function (id, x, y, needKey, callback) { if (core.interval.openDoorAnimate!=null) return; // 是否存在门 - if (!core.terrainExists(x, y, id)) { + if (!core.terrainExists(x, y, id) && id!='lava' && id!='star') { if (core.isset(callback)) callback(); return; } @@ -876,6 +876,7 @@ events.prototype.openDoor = function (id, x, y, needKey, callback) { } var door = core.material.icons.animates[doorId]; core.status.replay.animate=true; + core.removeGlobalAnimate(x,y); core.interval.openDoorAnimate = window.setInterval(function () { state++; if (state == 4) { diff --git a/project/icons.js b/project/icons.js index 1d36e5e0..1b6208fe 100644 --- a/project/icons.js +++ b/project/icons.js @@ -56,36 +56,31 @@ icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 = 'animates': { 'star': 0, 'lava': 1, - 'waterWall': 2, - 'yellowDoor': 3, - 'blueDoor': 4, - 'redDoor': 5, - 'greenDoor': 6, - 'specialDoor': 7, - 'blueWallDoor': 8, - 'yellowWallDoor': 9, - 'whiteWallDoor': 10, - 'steelDoor': 11, - 'lavaDoor': 12, - 'grayLavaDoor': 13, + 'blueWater': 2, + 'water': 3, + 'yellowDoor': 4, + 'blueDoor': 5, + 'redDoor': 6, + 'greenDoor': 7, + 'specialDoor': 8, + 'steelDoor': 9, + 'yellowWallDoor': 10, + 'whiteWallDoor': 11, + 'blueWallDoor': 12, + 'lavaDoor': 13, 'starDoor': 14, - 'mockBlueWallDoor': 15, - 'mockYellowWallDoor': 16, - 'mockWhiteWallDoor': 17, - 'iceYellowWallDoor': 18, - 'starPortal': 19, - 'exclamation': 20, - 'portal': 21, - 'switch': 22, - 'lavaNet': 23, - 'poisonNet': 24, - 'weakNet': 25, - 'curseNet': 26, - 'downPortal': 27, - 'leftPortal': 28, - 'rightPortal': 29, - 'upPortal': 30, - 'water': 31, + 'starPortal': 15, + //'exclamation': 16, + 'portal': 17, + //'switch': 18, + 'lavaNet': 19, + 'poisonNet': 20, + 'weakNet': 21, + 'curseNet': 22, + 'downPortal': 23, + 'leftPortal': 24, + 'rightPortal': 25, + 'upPortal': 26, }, 'npcs': { 'man': 0, diff --git a/project/images/animates.png b/project/images/animates.png index 29707cdbc6711a42a938026f4fb2c5fd59d1f06d..0bfad0dfdf4115abfc413d69aead79f1f958b122 100644 GIT binary patch literal 25215 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 literal 29813 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 Date: Thu, 10 May 2018 22:49:22 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E5=8F=B3=E9=94=AE=E8=8F=9C=E5=8D=95=20-=20?= =?UTF-8?q?=E5=9C=A8=E7=B4=A0=E6=9D=90=E5=8C=BA=E9=80=89=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/css/editor.css | 23 +++ _server/editor.js | 47 +++++- _server/vm.js | 3 + editor.html | 10 ++ project/floors/sample0.js | 306 ++++++++++++++++++++++++-------------- 5 files changed, 278 insertions(+), 111 deletions(-) diff --git a/_server/css/editor.css b/_server/css/editor.css index 90dde66c..6cf8473f 100644 --- a/_server/css/editor.css +++ b/_server/css/editor.css @@ -340,6 +340,29 @@ table.row td { background-color: rgba(76, 34, 27, .5); } +#menuDiv * { margin: 0; padding: 0; } +#midMenu{ + z-index: 101; + width: 10em; + background: rgba(255, 255, 255, 0.65); + position: absolute; + /* display: none; */ +} +#midMenu ul{ + width: 100%; + list-style: none; + border: 1px solid #000; + border-bottom: 0px; +} +#midMenu ul li{ + /* height: 30px; */ + /* font-size: 16px; */ + color: #000; + /* line-height: 30px; */ + /* text-align: center; */ + border-bottom: 1px solid #000; +} + /* for vue dom */ [v-cloak] { display: none !important; diff --git a/_server/editor.js b/_server/editor.js index 75f6bbbd..1c343943 100644 --- a/_server/editor.js +++ b/_server/editor.js @@ -427,7 +427,15 @@ editor.prototype.listen = function () { uc.clearRect(0, 0, 416, 416); }//用于鼠标移出canvas时的自动清除状态 + eui.oncontextmenu=function(e){e.preventDefault()} + eui.onmousedown = function (e) { + if (e.button==2){ + editor.showMidMenu(e.clientX,e.clientY); + var loc = eToLoc(e); + var pos = locToPos(loc); + return; + } if (!selectBox.isSelected) { var loc = eToLoc(e); var pos = locToPos(loc); @@ -489,7 +497,7 @@ editor.prototype.listen = function () { holdingPath = 0; e.stopPropagation(); var loc = eToLoc(e); - if (stepPostfix.length) { + if (stepPostfix && stepPostfix.length) { preMapData = JSON.parse(JSON.stringify(editor.map)); currDrawData.pos = JSON.parse(JSON.stringify(stepPostfix)); currDrawData.info = JSON.parse(JSON.stringify(editor.info)); @@ -535,6 +543,7 @@ editor.prototype.listen = function () { } } + var dataSelection = document.getElementById('dataSelection'); edata.onmousedown = function (e) { e.stopPropagation(); var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft; @@ -602,6 +611,42 @@ editor.prototype.listen = function () { } } + var midMenu=document.getElementById('midMenu'); + midMenu.oncontextmenu=function(e){e.preventDefault()} + editor.showMidMenu=function(x,y){ + var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft; + var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; + midMenu.style='top:'+(y+scrollTop)+'px;left:'+(x+scrollLeft)+'px;'; + } + editor.hideMidMenu=function(){midMenu.style='display:none';} + + var chooseInRight = document.getElementById('chooseInRight'); + chooseInRight.onmousedown = function(e){ + editor.hideMidMenu(); + e.stopPropagation(); + var thisevent = editor.map[editor.pos.y][editor.pos.x]; + var pos={x: 0, y: 0, images: "terrains"}; + var ysize = 32; + console.log(thisevent) + if(thisevent==0){ + //选中清除块 + editor.info = 0; + editor.pos=pos; + } else { + editor.info=editor.ids[editor.indexs[thisevent.idnum]]; + pos.x=editor.widthsX[thisevent.images][1]; + pos.y=editor.info.y; + ysize = thisevent.images.indexOf('48') === -1 ? 32 : 48; + } + setTimeout(function(){selectBox.isSelected = true;}); + dataSelection.style.left = pos.x * 32 + 'px'; + dataSelection.style.top = pos.y * ysize + 'px'; + dataSelection.style.height = ysize - 6 + 'px'; + tip.infos = JSON.parse(JSON.stringify(editor.info)); + editor_mode.onmode('nextChange'); + editor_mode.onmode('emenyitem'); + } + }//绑定事件 /* diff --git a/_server/vm.js b/_server/vm.js index 64471533..e23fd65d 100644 --- a/_server/vm.js +++ b/_server/vm.js @@ -29,6 +29,9 @@ document.body.onmousedown = function (e) { } //editor.mode.onmode(''); editor.info = {}; + if (e.button!=2){ + editor.hideMidMenu(); + } } iconLib.onmousedown = function (e) { e.stopPropagation(); diff --git a/editor.html b/editor.html index b296cbbb..05719170 100644 --- a/editor.html +++ b/editor.html @@ -266,6 +266,16 @@ + From 932bbfd60b7841acac091eaa92902a46b9d02b98 Mon Sep 17 00:00:00 2001 From: YouWei Zhao Date: Fri, 11 May 2018 16:26:27 +0800 Subject: [PATCH 4/6] menu --- _server/editor.js | 118 ++++++++++++++++++++++++++++++++++++++++++---- editor.html | 8 ++-- 2 files changed, 114 insertions(+), 12 deletions(-) diff --git a/_server/editor.js b/_server/editor.js index 83d349cc..7f9d1fca 100644 --- a/_server/editor.js +++ b/_server/editor.js @@ -348,6 +348,7 @@ editor.prototype.updateMap = function () { } else drawTile(eventCtx, x, y, tileInfo); } // 绘制地图 end + } editor.prototype.changeFloor = function (floorId, callback) { @@ -431,9 +432,9 @@ editor.prototype.listen = function () { eui.onmousedown = function (e) { if (e.button==2){ - editor.showMidMenu(e.clientX,e.clientY); var loc = eToLoc(e); var pos = locToPos(loc); + editor.showMidMenu(e.clientX,e.clientY); return; } if (!selectBox.isSelected) { @@ -442,7 +443,7 @@ editor.prototype.listen = function () { editor_mode.onmode('nextChange'); editor_mode.onmode('loc'); //editor_mode.loc(); - tip.whichShow = 1; + //tip.whichShow = 1; return; } @@ -460,7 +461,7 @@ editor.prototype.listen = function () { eui.onmousemove = function (e) { if (!selectBox.isSelected) { - // tip.whichShow = 1; + //tip.whichShow = 1; return; } @@ -491,7 +492,7 @@ editor.prototype.listen = function () { eui.onmouseup = function (e) { if (!selectBox.isSelected) { - tip.whichShow = 1; + //tip.whichShow = 1; return; } holdingPath = 0; @@ -613,13 +614,33 @@ editor.prototype.listen = function () { var midMenu=document.getElementById('midMenu'); midMenu.oncontextmenu=function(e){e.preventDefault()} + editor.lastRightButtonPos=[{x:0,y:0},{x:0,y:0}]; editor.showMidMenu=function(x,y){ + editor.lastRightButtonPos=JSON.parse(JSON.stringify( + [editor.pos,editor.lastRightButtonPos[0]] + )); + var locStr='('+editor.lastRightButtonPos[1].x+','+editor.lastRightButtonPos[1].y+')'; var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft; var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; + copyLoc.children[0].innerHTML='复制此事件到'+locStr; + moveLoc.children[0].innerHTML='移动此事件到'+locStr; midMenu.style='top:'+(y+scrollTop)+'px;left:'+(x+scrollLeft)+'px;'; } editor.hideMidMenu=function(){midMenu.style='display:none';} + var chooseThis = document.getElementById('chooseThis'); + chooseThis.onmousedown = function(e){ + editor.hideMidMenu(); + e.stopPropagation(); + selectBox.isSelected = false; + var loc = eToLoc(e); + var pos = locToPos(loc); + editor_mode.onmode('nextChange'); + editor_mode.onmode('loc'); + //editor_mode.loc(); + //tip.whichShow = 1; + } + var chooseInRight = document.getElementById('chooseInRight'); chooseInRight.onmousedown = function(e){ editor.hideMidMenu(); @@ -627,7 +648,6 @@ editor.prototype.listen = function () { var thisevent = editor.map[editor.pos.y][editor.pos.x]; var pos={x: 0, y: 0, images: "terrains"}; var ysize = 32; - console.log(thisevent) if(thisevent==0){ //选中清除块 editor.info = 0; @@ -650,28 +670,108 @@ editor.prototype.listen = function () { editor_mode.onmode('emenyitem'); } + var fields = Object.keys(editor.file.comment._data.floors._data.loc._data); + var copyLoc = document.getElementById('copyLoc'); copyLoc.onmousedown = function(e){ editor.hideMidMenu(); e.stopPropagation(); + preMapData = null; + reDo = null; var thisevent = editor.map[editor.pos.y][editor.pos.x]; if(thisevent==0){ - + editor.info = 0; } else { - + var ids=editor.indexs[thisevent.idnum]; + ids=ids[0]?ids[0]:ids; + editor.info=editor.ids[ids]; } + editor_mode.onmode(''); + var now = editor.pos; + var last = editor.lastRightButtonPos[1]; + editor.map[last.y][last.x]=editor.info; + editor.updateMap(); + fields.forEach(function(v){ + editor.currentFloorData[v][last.x+','+last.y]=editor.currentFloorData[v][now.x+','+now.y] + }) + editor.file.saveFloorFile(function (err) { + if (err) { + printe(err); + throw(err) + } + ;printf('复制事件成功'); + editor.drawEventBlock(); + }); } var moveLoc = document.getElementById('moveLoc'); moveLoc.onmousedown = function(e){ editor.hideMidMenu(); e.stopPropagation(); + preMapData = null; + reDo = null; var thisevent = editor.map[editor.pos.y][editor.pos.x]; if(thisevent==0){ - + editor.info = 0; } else { - + var ids=editor.indexs[thisevent.idnum]; + ids=ids[0]?ids[0]:ids; + editor.info=editor.ids[ids]; } + editor_mode.onmode(''); + var now = editor.pos; + var last = editor.lastRightButtonPos[1]; + + var lastevent = editor.map[last.y][last.x]; + var lastinfo = 0; + if(lastevent==0){ + lastinfo = 0; + } else { + var ids=editor.indexs[lastevent.idnum]; + ids=ids[0]?ids[0]:ids; + lastinfo=editor.ids[ids]; + } + editor.map[last.y][last.x]=editor.info; + editor.map[now.y][now.x]=lastinfo; + editor.updateMap(); + + fields.forEach(function(v){ + var temp_atsfcytaf=editor.currentFloorData[v][now.x+','+now.y]; + editor.currentFloorData[v][now.x+','+now.y]=editor.currentFloorData[v][last.x+','+last.y]; + editor.currentFloorData[v][last.x+','+last.y]=temp_atsfcytaf + }) + editor.file.saveFloorFile(function (err) { + if (err) { + printe(err); + throw(err) + } + ;printf('两位置的事件已互换'); + editor.drawEventBlock(); + }); + } + + var clearLoc = document.getElementById('clearLoc'); + clearLoc.onmousedown = function(e){ + editor.hideMidMenu(); + e.stopPropagation(); + preMapData = null; + reDo = null; + editor.info = 0; + editor_mode.onmode(''); + var now = editor.pos; + editor.map[now.y][now.x]=editor.info; + editor.updateMap(); + fields.forEach(function(v){ + editor.currentFloorData[v][now.x+','+now.y]=null; + }) + editor.file.saveFloorFile(function (err) { + if (err) { + printe(err); + throw(err) + } + ;printf('清空此点及事件成功'); + editor.drawEventBlock(); + }); } }//绑定事件 diff --git a/editor.html b/editor.html index dbb87087..f83105d0 100644 --- a/editor.html +++ b/editor.html @@ -268,9 +268,11 @@ From b8989b882d8b87f5535d4a1410e9a945b62fe6e5 Mon Sep 17 00:00:00 2001 From: YouWei Zhao Date: Fri, 11 May 2018 16:35:09 +0800 Subject: [PATCH 5/6] revert sample0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 不小心修改了此文件就提交了 --- project/floors/sample0.js | 312 ++++++++++++++------------------------ 1 file changed, 113 insertions(+), 199 deletions(-) diff --git a/project/floors/sample0.js b/project/floors/sample0.js index 129c9f1b..78e04a85 100644 --- a/project/floors/sample0.js +++ b/project/floors/sample0.js @@ -1,206 +1,120 @@ -main.floors.sample0= +main.floors.sample0 = { -"floorId": "sample0", -"title": "样板 0 层", -"name": "0", -"canFlyTo": true, -"canUseQuickShop": true, -"defaultGround": "ground", -"images": [], -"bgm": "bgm.mp3", -"item_ratio": 2, -"map": [ - [ 0, 0,220, 0, 0, 20, 87, 3, 65, 64, 44, 43, 42], - [ 0,246, 0,246, 0, 20, 0, 3, 58, 59, 60, 61, 41], - [219, 0, 0, 0,219, 20, 0, 3, 57, 26, 62, 63, 40], - [ 20, 20,125, 20, 20, 20, 0, 3, 53, 54, 55, 56, 39], - [216,247,263,235,248, 6, 0, 3, 49, 50, 51, 52, 38], - [ 6, 6,125, 6, 6, 6, 0, 1, 45, 46, 47, 48, 37], - [224,254,212,262,204, 5, 0, 1, 31, 32, 34, 33, 36], - [201,261,217,264,207, 5, 0, 1, 27, 28, 29, 30, 35], - [ 5, 5,125, 5, 5, 5, 0, 1, 21, 22, 23, 24, 25], - [ 0, 0,237, 0, 0, 0, 45, 1, 1, 1,121, 1, 1], - [ 4, 4,133, 4, 4, 4, 0, 0, 0, 0, 0, 85,124], - [ 87, 11, 12, 13, 14, 4, 4, 2, 2, 2,122, 2, 2], - [ 88, 89, 90, 91, 92, 93, 94, 2, 81, 82, 83, 84, 86] -], -"firstArrive": [ - "\t[样板提示]首次到达某层可以触发 firstArrive 事件,该事件可类似于RMXP中的“自动执行脚本”。\n\n本事件支持一切的事件类型,常常用来触发对话,例如:", - "\t[hero]\b[up,hero]我是谁?我从哪来?我又要到哪去?", - "\t[仙子,fairy]你问我...?我也不知道啊...", - "本层主要对道具、门、怪物等进行介绍,有关事件的各种信息在下一层会有更为详细的说明。" -], -"events": { - "10,9": [ - "\t[老人,man]这些是本样板支持的所有的道具。\n\n道具分为三类:items, constants, tools。\nitems 为即捡即用类道具,例如宝石、血瓶、剑盾等。\nconstants 为永久道具,例如怪物手册、楼层传送器、幸运金币等。\ntools 为消耗类道具,例如破墙镐、炸弹、中心对称飞行器等。\n\n后两类道具在工具栏中可以看到并使用。", - "\t[老人,man]\b[up]有关道具效果,定义在items.js中。\n目前大多数道具已有默认行为,如有自定义的需求则需在items.js中修改代码。", - "\t[老人,man]constants 和 tools 各最多只允许12种,多了会导致图标溢出。", - "\t[老人,man]\b[up]拾取道具结束后可触发 afterGetItem 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", - { - "type": "hide", - "time": 500 - } + "floorId": "sample0", // 这里需要改楼层名,请和文件名及下面的floorId保持完全一致 + // 楼层唯一标识符仅能由字母、数字、下划线组成,且不能由数字开头 + // 推荐用法:第20层就用MT20,第38层就用MT38,地下6层就用MT_6(用下划线代替负号),隐藏3层用MT3h(h表示隐藏),等等 + // 楼层唯一标识符,需要和名字完全一致 + "title": "样板 0 层", // 楼层中文名 + "name": "0", // 显示在状态栏中的层数 + "canFlyTo": true, // 该楼能否被楼传器飞到(不能的话在该楼也不允许使用楼传器) + "canUseQuickShop": true, // 该层是否允许使用快捷商店 + "defaultGround": "ground", // 默认地面的图块ID(terrains中) + "images": [], // 该层默认显示的所有图片;详细用法请查看文档“自定义素材”中的说明。 + // "color": [0,0,0,0.3] // 该层的默认画面色调。本项可不写(代表无色调),如果写需要是一个RGBA数组。 + // "weather": ["snow",5], // 该层的默认天气。本项可忽略表示晴天,如果写则第一项为"rain"或"snow"代表雨雪,第二项为1-10之间的数代表强度。 + "bgm": "bgm.mp3", // 到达该层后默认播放的BGM。本项可忽略。 + "item_ratio": 2, // 该层的宝石/血瓶倍率 + "map": [ // 地图数据,需要是13x13,建议使用地图生成器来生成 + [0, 0, 220, 0, 0, 20, 87, 3, 65, 64, 44, 43, 42], + [0, 246, 0, 246, 0, 20, 0, 3, 58, 59, 60, 61, 41], + [219, 0, 0, 0, 219, 20, 0, 3, 57, 26, 62, 63, 40], + [20, 20, 125, 20, 20, 20, 0, 3, 53, 54, 55, 56, 39], + [216, 247, 263, 235, 248, 6, 0, 3, 49, 50, 51, 52, 38], + [6, 6, 125, 6, 6, 6, 0, 1, 45, 46, 47, 48, 37], + [224, 254, 212, 262, 204, 5, 0, 1, 31, 32, 34, 33, 36], + [201, 261, 217, 264, 207, 5, 0, 1, 27, 28, 29, 30, 35], + [5, 5, 125, 5, 5, 5, 0, 1, 21, 22, 23, 24, 25], + [0, 0, 237, 0, 0, 0, 45, 1, 1, 1, 121, 1, 1], + [4, 4, 133, 4, 4, 4, 0, 0, 0, 0, 0, 85, 124], + [87, 11, 12, 13, 14, 4, 4, 2, 2, 2, 122, 2, 2], + [88, 89, 90, 91, 92, 93, 94, 2, 81, 82, 83, 84, 86], ], - "10,11": [ - "\t[老人,woman]这些是门,需要对应的钥匙打开。\n机关门必须使用特殊的开法。", - "\t[老人,woman]开门后可触发 afterOpenDoor 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", - { - "type": "hide", - "time": 500 - } + "firstArrive": [ // 第一次到该楼层触发的事件 + "\t[样板提示]首次到达某层可以触发 firstArrive 事件,该事件可类似于RMXP中的“自动执行脚本”。\n\n本事件支持一切的事件类型,常常用来触发对话,例如:", + "\t[hero]\b[up,hero]我是谁?我从哪来?我又要到哪去?", + "\t[仙子,fairy]你问我...?我也不知道啊...", + "本层主要对道具、门、怪物等进行介绍,有关事件的各种信息在下一层会有更为详细的说明。", ], - "2,10": [ - "\t[少女,npc0]这些是路障、楼梯、传送门。", - "\t[少女,npc0]血网的伤害数值、中毒后每步伤害数值、衰弱时攻防下降的数值,都在 data.js 内定义。\n\n路障同样会尽量被自动寻路绕过。", - "\t[少女,npc0]楼梯和传送门需要在changeFloor中定义目标楼层和位置,可参见样板里已有的的写法。", - { - "type": "hide", - "time": 500 - } - ], - "2,8": [ - "\t[老人,magician]这些都是各种各样的怪物,所有怪物的数据都在enemys.js中设置。", - "\t[老人,magician]这批怪物分别为:普通、先攻、魔攻、坚固、2连击、3连击、4连击、破甲、反击、净化。", - "\t[老人,magician]打败怪物后可触发 afterBattle 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", - { - "type": "hide", - "time": 500 - } - ], - "2,5": [ - "\t[老人,magician]模仿、吸血、中毒、衰弱、诅咒。\n\n请注意吸血怪需要设置value为吸血数值,可参见样板中黑暗大法师的写法。", - { - "type": "hide", - "time": 500 - } - ], - "2,3": [ - "\t[老人,magician]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。", - "\t[老人,magician]夹击和领域同时发生时先计算领域,再夹击。\n自动寻路同样会尽量绕过你设置的这些点。", - { - "type": "hide", - "time": 500 - } - ], - "12,10": { - "enable": false, - "data": [ - "\t[仙子,fairy]只有楼上启用事件后,才能看到我并可以和我对话来触发事件。", - { - "type": "hide", - "time": 500 - } - ] - } -}, -"changeFloor": { - "6,0": { - "floorId": "sample1", - "stair": "downFloor" - }, - "0,11": { - "floorId": "sample0", - "loc": [ - 0, - 12 - ] - }, - "0,12": { - "floorId": "sample0", - "stair": "upFloor" - }, - "1,12": { - "floorId": "sample0", - "loc": [ - 1, - 12 - ] - }, - "2,12": { - "floorId": "sample0", - "loc": [ - 2, - 12 - ] - }, - "3,12": { - "floorId": "sample0", - "loc": [ - 6, - 1 + "events": { // 该楼的所有可能事件列表 + "10,9": [ // 守着道具的老人 + "\t[老人,man]这些是本样板支持的所有的道具。\n\n道具分为三类:items, constants, tools。\nitems 为即捡即用类道具,例如宝石、血瓶、剑盾等。\nconstants 为永久道具,例如怪物手册、楼层传送器、幸运金币等。\ntools 为消耗类道具,例如破墙镐、炸弹、中心对称飞行器等。\n\n后两类道具在工具栏中可以看到并使用。", + "\t[老人,man]\b[up]有关道具效果,定义在items.js中。\n目前大多数道具已有默认行为,如有自定义的需求则需在items.js中修改代码。", + "\t[老人,man]constants 和 tools 各最多只允许12种,多了会导致图标溢出。", + "\t[老人,man]\b[up]拾取道具结束后可触发 afterGetItem 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", + {"type": "hide", "time": 500} // 消失 ], - "direction": "up" - }, - "4,12": { - "floorId": "sample0", - "loc": [ - 0, - 9 + "10,11": [ // 守着门的老人 + "\t[老人,woman]这些是门,需要对应的钥匙打开。\n机关门必须使用特殊的开法。", + "\t[老人,woman]开门后可触发 afterOpenDoor 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", + {"type": "hide", "time": 500} ], - "direction": "left", - "time": 1000 - }, - "5,12": { - "floorId": "sample0", - "loc": [ - 6, - 10 + "2,10": [ // 守着楼梯、传送门、路障的老人 + "\t[少女,npc0]这些是路障、楼梯、传送门。", + "\t[少女,npc0]血网的伤害数值、中毒后每步伤害数值、衰弱时攻防下降的数值,都在 data.js 内定义。\n\n路障同样会尽量被自动寻路绕过。", + "\t[少女,npc0]楼梯和传送门需要在changeFloor中定义目标楼层和位置,可参见样板里已有的的写法。", + {"type": "hide", "time": 500} ], - "time": 0, - "portalWithoutTrigger": false - }, - "6,12": { - "floorId": "sample0", - "loc": [ - 10, - 10 + "2,8": [ // 守着第一批怪物的老人 + "\t[老人,magician]这些都是各种各样的怪物,所有怪物的数据都在enemys.js中设置。", + "\t[老人,magician]这批怪物分别为:普通、先攻、魔攻、坚固、2连击、3连击、4连击、破甲、反击、净化。", + "\t[老人,magician]打败怪物后可触发 afterBattle 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", + {"type": "hide", "time": 500} ], - "direction": "left", - "time": 1000 - } -}, -"afterBattle": { - "2,6": [ - "\t[ghostSkeleton]不可能,你怎么可能打败我!\n(一个打败怪物触发的事件)" - ] -}, -"afterGetItem": { - "11,8": [ - "由于状态栏放不下,绿钥匙和铁门钥匙均视为tools,放入工具栏中。\n碰到绿门和铁门仍然会自动使用开门。" - ], - "8,6": [ - "由于吸血和夹击等的存在,血瓶默认自动被绕路。\n你可以修改data.js中的系统Flag来设置这一项。" - ], - "8,7": [ - "如需修改消耗品的效果,请前往 data.js ,找到并修改values内对应的具体数值即可。\n如果有更高级的需求(如每个区域宝石数值变化),详见doc文档内的做法说明。" - ], - "10,7": [ - "在 data.js 的系统Flag中设置是否启用魔防。\n如果不启用魔防则不会在状态栏显示。" - ], - "9,5": [ - "每层楼的 canFlyTo 决定了该楼层能否被飞到。\n\n不能被飞到的楼层也无法使用楼层传送器。", - "飞行的楼层顺序由 main.js 中 floorIds 加载顺序所决定。\n\n是否必须在楼梯边使用楼传器由 data.js 中的系统Flag所决定。" - ], - "10,5": [ - "破墙镐是破面前的墙壁还是四个方向的墙壁,由data.js中的系统Flag所决定。" - ], - "8,4": [ - "炸弹是只能炸面前的怪物还是四个方向的怪物,由data.js中的系统Flag所决定。\n如只能炸前方怪物则和上面的圣锤等价。\n不能被炸的怪物在enemys中可以定义,可参见样板里黑衣魔王和黑暗大法师的写法。" - ], - "10,4": [ - "“上楼”和“下楼”的目标层由 main.js 的 floorIds顺序所决定。" - ], - "9,2": [ - "该道具默认是大黄门钥匙,如需改为钥匙盒直接修改 data.js 中的系统Flag即可。" - ], - "10,2": [ - "屠龙匕首目前未被定义,可能需要自行实现功能。\n有关如何实现一个道具功能参见doc文档。" - ] -}, -"afterOpenDoor": { - "11,12": [ - "你开了一个绿门,触发了一个afterOpenDoor事件" - ] -}, -"cannotMove": {}, -} \ No newline at end of file + "2,5": [ // 守着第二批怪物的老人 + "\t[老人,magician]模仿、吸血、中毒、衰弱、诅咒。\n\n请注意吸血怪需要设置value为吸血数值,可参见样板中黑暗大法师的写法。", + {"type": "hide", "time": 500} + ], + "2,3": [ // 守着第三批怪物的老人 + "\t[老人,magician]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。", + "\t[老人,magician]夹击和领域同时发生时先计算领域,再夹击。\n自动寻路同样会尽量绕过你设置的这些点。", + {"type": "hide", "time": 500} + ], + "12,10": { // 隐藏的仙子 + "enable": false, // enable: false代表初始时禁用事件 + "data": [ + "\t[仙子,fairy]只有楼上启用事件后,才能看到我并可以和我对话来触发事件。", + {"type": "hide", "time": 500} + ] + }, + }, + "changeFloor": { // 楼层转换事件;该事件不能和上面的events有冲突(同位置点),否则会被覆盖 + "6,0": {"floorId": "sample1", "stair": "downFloor"}, // 目标点:sample1层的下楼梯位置 + "0,11": {"floorId": "sample0", "loc": [0,12]}, // 目标点:sample0层的x=0,y=12位置 + "0,12": {"floorId": "sample0", "stair": "upFloor"}, // 注意,目标层有多个楼梯的话,写stair可能会导致到达位置不确定。这时候推荐写loc指明目标点位置。 + "1,12": {"floorId": "sample0", "loc": [1,12]}, + "2,12": {"floorId": "sample0", "loc": [2,12]}, + "3,12": {"floorId": "sample0", "loc": [6,1], "direction": "up"}, // 切换楼层后勇士面对上方 + "4,12": {"floorId": "sample0", "loc": [0,9], "direction": "left", "time": 1000}, // 切换楼层后勇士面对左边,切换动画1000ms + "5,12": {"floorId": "sample0", "loc": [6,10], "time": 0, "portalWithoutTrigger": false}, // time=0表示无切换时间 + "6,12": {"floorId": "sample0", "loc": [10,10], "direction": "left", "time": 1000}, + }, + "afterBattle": { // 战斗后可能触发的事件列表 + "2,6": ["\t[ghostSkeleton]不可能,你怎么可能打败我!\n(一个打败怪物触发的事件)"], + }, + "afterGetItem": { // 获得道具后可能触发的事件列表 + "11,8": ["由于状态栏放不下,绿钥匙和铁门钥匙均视为tools,放入工具栏中。\n碰到绿门和铁门仍然会自动使用开门。"], + "8,6": ["由于吸血和夹击等的存在,血瓶默认自动被绕路。\n你可以修改data.js中的系统Flag来设置这一项。"], + "8,7": ["如需修改消耗品的效果,请前往 data.js ,找到并修改values内对应的具体数值即可。\n如果有更高级的需求(如每个区域宝石数值变化),详见doc文档内的做法说明。"], + "10,7": ["在 data.js 的系统Flag中设置是否启用魔防。\n如果不启用魔防则不会在状态栏显示。"], + "9,5": [ + "每层楼的 canFlyTo 决定了该楼层能否被飞到。\n\n不能被飞到的楼层也无法使用楼层传送器。", + "飞行的楼层顺序由 main.js 中 floorIds 加载顺序所决定。\n\n是否必须在楼梯边使用楼传器由 data.js 中的系统Flag所决定。" + ], + "10,5": ["破墙镐是破面前的墙壁还是四个方向的墙壁,由data.js中的系统Flag所决定。"], + "8,4": [ + "炸弹是只能炸面前的怪物还是四个方向的怪物,由data.js中的系统Flag所决定。\n如只能炸前方怪物则和上面的圣锤等价。\n不能被炸的怪物在enemys中可以定义,可参见样板里黑衣魔王和黑暗大法师的写法。", + ], + "10,4": ["“上楼”和“下楼”的目标层由 main.js 的 floorIds顺序所决定。"], + "9,2": ["该道具默认是大黄门钥匙,如需改为钥匙盒直接修改 data.js 中的系统Flag即可。"], + "10,2": ["屠龙匕首目前未被定义,可能需要自行实现功能。\n有关如何实现一个道具功能参见doc文档。"], + }, + "afterOpenDoor": { // 开完门后可能触发的事件列表 + "11,12": ["你开了一个绿门,触发了一个afterOpenDoor事件"] + }, + "cannotMove": { // 每个图块不可通行的方向 + // 可以在这里定义每个点不能前往哪个方向,例如悬崖边不能跳下去 + // "x,y": ["up", "left"], // (x,y)点不能往上和左走 + + }, + +} From 59ba343881a54bcc682f4ce7adde6b375457b040 Mon Sep 17 00:00:00 2001 From: oc Date: Fri, 11 May 2018 18:22:31 +0800 Subject: [PATCH 6/6] Update API --- docs/_api.md | 367 ++++++++++++++++++++ docs/api.md | 783 ++++++++++++++++++++++++------------------- docs/img/console.png | Bin 0 -> 160020 bytes docs/start.md | 29 +- libs/core.js | 5 + 更新说明.txt | 1 + 6 files changed, 836 insertions(+), 349 deletions(-) create mode 100644 docs/_api.md create mode 100644 docs/img/console.png diff --git a/docs/_api.md b/docs/_api.md new file mode 100644 index 00000000..1939aa2c --- /dev/null +++ b/docs/_api.md @@ -0,0 +1,367 @@ +# 附录:API列表 + +?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} * + +所有系统支持的API都列在了这里。所有可能被用到的API都在前面用\*标记。 + +可以在chrome浏览器的控制台中(`ctrl+shift+I`,找到Console)中直接进行调用,以查看效果。 + +!> **`main.js`:游戏入口,所有其他JS文件都是被此文件加载。** + +``` js +main.init // 初始化 +main.loaderJs // 动态加载所有核心JS文件 +main,loaderFloors // 动态加载所有楼层(剧本) +main.loadMod // 加载某一个JS文件 +main.loadFloor // 加载某一个楼层 +main.setMainTipsText // 加载过程提示 +window.onresize // 窗口大小变化时 +main.dom.body.onkeydown // 在界面上按下某按键时 +main.dom.body.onkeydown // 在界面上放开某按键时 +main.dom.body.onselectstart // 开始选择时 +main.dom.data.onmousedown // 鼠标按下时 +main.dom.data.onmousemove // 鼠标移动时 +main.dom.data.onmouseup // 鼠标放开时 +main.dom.data.onmousewheel // 鼠标滑轮滚动时 +main.dom.data.ontouchstart // 手指在触摸屏开始触摸时 +main.dom.data.ontouchmove // 手指在触摸屏上移动时 +main.dom.data.ontouchend // 手指离开触摸屏时 +main.statusBar.image.book.onclick // 点击状态栏中的怪物手册时 +main.statusBar.image.fly.onclick // 点击状态栏中的楼层传送器时 +main.statusBar.image.toolbox.onclick // 点击状态栏中的工具箱时 +main.statusBar.image.shop.onclick // 点击状态栏中的快捷商店时 +main.statusBar.image.save.onclick // 点击状态栏中的存档按钮时 +main.statusBar.image.load.onclick // 点击状态栏中的读档按钮时 +main.statusBar.image.settings.onclick // 点击状态栏中的系统菜单时 +main.dom.playGame.onclick // 点击“开始游戏”时 +main.dom.loadGame.onclick // 点击“载入游戏”时 +main.dom.replayGame.onclick // 点击“录像回放”时 +main.dom.easyLevel.onclick // 点击“简单难度”时 +main.dom.normalLevel.onclick // 点击“普通难度”时 +main.dom.hardLevel.onclick // 点击“困难难度”时 +``` + +!> **`core.js`:系统核心文件。所有核心逻辑处理都在此文件完成。** + +``` js +* core.status.floorId // 获得当前层floorId +* core.status.thisMap // 获得当前层的地图信息 +* core.status.maps // 获得所有楼层的地图信息 +* core.floors // 获得所有楼层的剧本 + +// ------ 初始化部分 ------ +core.init // 初始化 +core.showStartAnimate // 显示游戏开始界面 +core.hideStartAnimate // 隐藏游戏开始界面 +core.setStartProgressVal // 设置加载进度条进度 +core.setStartLoadTipText // 设置加载进度条提示文字 +core.loader // 加载图片和音频 +core.loadAutotile // 加载Autotile +core.loadImage // 加载图片 +core.loadMusic // 加载音频 +core.isPlaying // 游戏是否已经开始 +core.clearStatus // 清除游戏状态和数据 +core.resetStatus // 重置游戏状态和初始数据 +core.startGame // 开始游戏 +* core.restart // 重新开始游戏;此函数将回到标题页面 + +// ------ 键盘、鼠标事件 ------ +core.onKeyDown // 按下某个键时 +core.onKeyUp // 放开某个键时 +core.pressKey // 按住某个键时 +core.keyDown // 根据按下键的code来执行一系列操作 +core.keyUp // 根据放开键的code来执行一系列操作 +core.ondown // 点击(触摸)事件按下时 +core.onmove // 当在触摸屏上滑动时 +core.onup // 当点击(触摸)事件放开时 +core.getClickLoc // 获得点击事件相对左上角的坐标(0到12之间) +core.onclick // 具体点击屏幕上(x,y)点时,执行的操作 +core.onmousewheel // 滑动鼠标滚轮时的操作 + +// ------ 自动寻路代码相关 ------ +core.clearAutomaticRouteNode // 清除自动寻路路线 +core.stopAutomaticRoute // 停止自动寻路操作 +core.continueAutomaticRoute // 继续剩下的自动寻路操作 +core.clearContinueAutomaticRoute // 清空剩下的自动寻路列表 +core.setAutomaticRoute // 设置自动寻路路线 +core.automaticRoute // 自动寻路算法,找寻最优路径 +core.fillPosWithPoint // 显示离散的寻路点 +core.clearStepPostfix // 清除已经寻路过的部分 + +// ------ 自动行走,行走控制 ------ +core.stopAutoHeroMove // 停止勇士的自动行走 +core.setAutoHeroMove // 设置勇士的自动行走路线 +core.autoHeroMove // 让勇士开始自动行走 +core.setHeroMoveInterval // 设置行走的效果动画 +core.setHeroMoveTriggerInterval // 设置勇士行走过程中对事件的触发检测 +core.moveAction // 实际每一步的行走过程 +* core.turnHero(direction) // 设置勇士的方向(转向) +core.canMoveHero // 勇士能否前往某方向 +core.moveHero // 让勇士开始移动 +core.eventMoveHero // 使用事件让勇士移动。这个函数将不会触发任何事件。 +core.moveOneStep // 每移动一格后执行的事件。中毒时在这里进行扣血判断。 +core.waitHeroToStop(callback) // 停止勇士的一切行动,等待勇士行动结束后,再执行callback回调函数。 +core.stopHero // 停止勇士的移动状态。 +core.drawHero // 绘制勇士。 +* core.setHeroLoc(name, value) // 设置勇士的位置。name为”direction”,”x”,”y” +* core.getHeroLoc(name) // 获得勇士的位置。 +* core.nextX // 获得勇士面对位置的x坐标 +* core.nextY // 获得勇士面对位置的y坐标 + +// ------ 地图和事件处理 ------ +* core.openDoor(id, x, y, needKey, callback) // 打开一扇位于 (x,y) 的门 +* core.battle(id, x, y, force, callback) // 进行战斗;force表示是否强制战斗 +core.afterBattle // 战斗完毕 +core.trigger(x,y) // 触发x,y点的事件 +* core.changeFloor(floorId, stair, heroLoc, time, callback) // 楼层切换。floorId为目标楼层Id,stair可指定为上/下楼梯,time动画时间 +core.mapChangeAnimate // 地图切换动画效果 +core.clearMap // 清除地图 +core.fillText // 在某个canvas上绘制一段文字 +core.fillRect // 在某个canvas上绘制一个矩形 +core.strokeRect // 在某个canvas上绘制一个矩形的边框 +core.drawLine // 在某个canvas上绘制一条线 +core.setFont // 设置某个canvas的文字字体 +core.setLineWidth // 设置某个canvas的线宽度 +core.saveCanvas // 保存某个canvas状态 +core.loadCanvas // 加载某个canvas状态 +core.setStrokeStyle // 设置某个canvas边框属性 +core.setAlpha // 设置某个canvas的alpha值 +core.setOpacity // 设置某个canvas的透明度 +core.setFillStyle // 设置某个canvas的绘制属性(如颜色等) +* core.drawMap(mapId, callback) // 绘制某张地图。mapId为地图Id,绘制完毕将执行callback回调函数。 +core.drawAutotile // 绘制Autotile +* core.noPassExists(x,y) // 某个点是否不可通行 +core.noPass // 某个点是否在区域内且不可通行 +* core.npcExists(x,y) // 某个点是否存在NPC +* core.terrainExists(x,y) // 某个点是否存在(指定的)地形 +* core.stairExists(x,y) // 某个点是否存在楼梯 +* core.nearStair // 当前位置是否在楼梯边 +* core.enemyExists(x,y) // 某个点是否存在(指定的)怪物 +* core.getBlock(x, y, floorId, needEnable) // 获得某个点的block。floorId指定目标楼层,needEnable如果为false则即使该点的事件处于禁用状态也将被返回(否则只有事件启用的点才被返回) +core.moveBlock // 显示移动某块的动画,达到{“type”:”move”}的效果 +core.animateBlock // 显示/隐藏某个块时的动画效果 +core.showBlock // 将某个块从禁用变成启用状态 +core.removeBlock // 将某个块从启用变成禁用状态 +core.removeBlockById // 根据block的索引删除该块 +core.removeBlockByIds // 一次性删除多个block +core.addGlobalAnimate // 添加一个全局动画 +core.removeGlobalAnimate // 删除一个或所有全局动画 +core.setGlobalAnimate // 设置全局动画的显示效果 +core.syncGlobalAnimate // 同步所有的全局动画效果 +core.drawBoxAnimate // 绘制UI层的box动画 +core.updateCheckBlock // 更新领域、夹击、阻击的伤害地图 +core.checkBlock // 检查并执行领域、夹击、阻击事件 +core.snipe // 阻击事件(动画效果) +core.setFg // 更改画面色调 +* core.updateFg // 更新全地图显伤 +* core.itemCount // 获得某个物品的个数 +* core.hasItem // 是否存在某个物品 +* core.setItem // 设置某个物品的个数 +* core.removeItem // 删除某个物品 +* core.useItem // 使用某个物品;直接调用items.js中的useItem函数。 +* core.canUseItem // 能否使用某个物品。直接调用items.js中的canUseItem函数。 +* core.addItem // 增加某个物品的个数 +core.getNextItem // 获得面前的物品(轻按) +* core.getItem // 获得某个物品 +* core.drawTip // 左上角绘制一段提示 +* core.drawText // 地图中间绘制一段文字 + +// ------ 系统机制 ------ +core.replaceText // 将文字中的${和}(表达式)进行替换 +core.calValue // 计算表达式的值 +core.doEffect // 执行一个表达式的effect操作 +core.splitLines // 字符串自动换行的分割 +core.unshift // 向某个数组前插入另一个数组或元素 +core.setLocalStorage // 设置本地存储 +core.getLocalStorage // 获得本地存储 +core.removeLocalStorage // 移除本地存储 +core.clone // 深拷贝一个对象 +core.formatDate // 格式化时间为字符串 +core.formatDate2 // 格式化时间为最简字符串 +core.setTwoDigits // 两位数显示 +core.debug // 进入Debug模式,攻防血和钥匙都调成很高的数值 +core.replay // 开始回放 +core.checkStatus // 判断当前能否进入某个事件 +core.openBook // 点击怪物手册时的打开操作 +core.useFly // 点击楼层传送器时的打开操作 +core.openToolbox // 点击工具栏时的打开操作 +core.openQuickShop // 点击快捷商店时的打开操作 +core.save // 点击保存按钮时的打开操作 +core.load // 点击读取按钮时的打开操作 +core.openSettings // 点击设置按钮时的打开操作 +core.autosave // 自动存档 +core.doSL // 实际进行存读档事件 +core.syncSave // 存档同步操作 +core.saveData // 存档到本地 +core.loadData // 从本地读档 +core.encodeRoute // 将路线压缩 +core.decodeRoute // 将路线解压缩 +* core.setStatus // 设置勇士属性 +* core.getStatus // 获得勇士属性 +core.getLvName // 获得某个等级的名称 +* core.setFlag // 设置某个自定义变量或flag +* core.getFlag // 获得某个自定义变量或flag +* core.hasFlag // 是否存在某个自定义变量或flag,且值为true +core.insertAction // 往当前事件列表之前插入一系列事件 +* core.lockControl // 锁定状态栏,常常用于事件处理 +* core.unlockControl // 解锁状态栏 +* core.isset // 判断某对象是否不为undefined也不会null +core.readFile // 读取一个本地文件内容 +core.download // 下载文件到本地 +core.copy // 复制一段文字到剪切板 +* core.playBgm // 播放背景音乐 +* core.pauseBgm // 暂停背景音乐的播放 +* core.resumeBgm // 恢复背景音乐的播放 +* core.playSound // 播放音频 +core.show // 动画显示某对象 +core.hide // 动画使某对象消失 +core.clearStatusBar // 清空状态栏 +core.updateStatusBar // 更新状态栏 +core.resize // 屏幕分辨率改变后重新自适应 +core.domRenderer // 渲染DOM + +// ------ core.js 结束 ------ +``` + +!> **`data.js` 定义了一些初始化的数据信息。** + +!> **`enemys.js` 定义了怪物信息。** + +``` js +core.enemys.init // 初始化 +* core.enemys.getEnemys // 获得一个或所有怪物数据 +* core.enemys.hasSpecial // 判断是否含有某特殊属性 +* core.enemys.getSpecialText // 获得所有特殊属性的名称 +* core.enemys.getSpecialHint // 获得每个特殊属性的说明 +* core.enemys.getDamage // 获得某个怪物的伤害 +* core.enemys.getExtraDamage // 获得某个怪物的额外伤害 +* core.enemys.getCritical // 临界值计算 +* core.enemys.getCriticalDamage // 临界减伤计算 +* core.enemys.getDefDamage // 1防减伤计算 +* core.enemys.calDamage // 具体的伤害计算公式 +core.enemys.getCurrentEnemys // 获得当前楼层的怪物列表 +``` + +!> **`events.js` 定义了各个事件的处理流程。** + +``` js +core.events.init // 初始化 +core.events.getEvents // 获得一个或所有系统事件类型 +core.events.startGame // 游戏开始事件 +* core.events.setInitData // 不同难度分别设置初始属性 +* core.events.win // 游戏获胜事件 +* core.events.lose // 游戏失败事件 +core.evens.gameOver // 游戏结束 +core.events.afterChangeFloor // 转换楼层结束的事件 +core.events.doEvents // 开始执行一系列自定义事件 +core.events.doAction // 执行当前自定义事件列表中的下一个事件 +core.events.insertAction // 往当前事件列表之前添加一个或多个事件 +core.events.openShop // 打开一个全局商店 +core.events.disableQuickShop // 禁用一个全局商店 +* core.events.canUseQuickShop // 当前能否使用快捷商店 +* core.events.checkLvUp // 检查升级事件 +* core.events.useItem // 尝试使用道具 +core.events.addPoint // 加点事件 +core.events.afterBattle // 战斗结束后触发的事件 +core.events.afterOpenDoor // 开一个门后触发的事件 +core.events.passNet // 经过一个路障 +core.events.changeLight // 改变亮灯(感叹号)的事件 +* core.events.afterChangeLight // 改变亮灯之后,可以触发的事件 +* core.events.afterUseBomb // 使用炸弹/圣锤后的事件 +* core.events.beforeSaveData // 即将存档前可以执行的操作 +* core.events.afterLoadData // 读档事件后,载入事件前,可以执行的操作 + +// ------ 点击事件和键盘事件的处理 ------ +core.events.longClick // 长按 +core.events.keyDownCtrl // 按下Ctrl键时(快捷跳过对话) +core.events.clickConfirmBox // 确认框界面时的点击操作 +core.events.keyUpConfirmBox // 确认框界面时,放开某个键的操作 +core.events.clickAction // 自定义事件时的点击操作 +core.events.keyDownAction // 自定义事件时,按下某个键的操作 +core.events.keyUpAction // 自定义事件时,放开某个键的操作 +core.events.clickBook // 怪物手册界面的点击操作 +core.events.keyDownBook // 怪物手册界面时,按下某个键的操作 +core.events.keyUpBook // 怪物手册界面时,放开某个键的操作 +core.events.clickBookDetail // 怪物手册属性显示界面时的点击操作 +core.events.clickFly // 楼层传送器界面时的点击操作 +core.events.keyDownFly // 楼层传送器界面时,按下某个键的操作 +core.events.keyUpFly // 楼层传送器界面时,放开某个键的操作 +core.events.clickViewMaps // 浏览地图界面时的点击操作 +core.events.keyDownViewMaps // 浏览地图界面时,按下某个键的操作 +core.events.keyUpViewMaps // 浏览地图界面时,放开某个键的操作 +core.events.clickShop // 商店界面时的点击操作 +core.events.keyDownShop // 商店界面时,按下某个键的操作 +core.events.keyUpShop // 商店界面时,放开某个键的操作 +core.events.clickQuickShop // 快捷商店界面时的点击操作 +core.events.keyDownQuickShop // 快捷商店界面时,按下某个键的操作 +core.events.keyUpQuickShop // 快捷商店界面时,放开某个键的操作 +core.events.clickToolbox // 工具栏界面时的点击操作 +core.events.clickToolboxIndex // 选择工具栏界面中某个Index后的操作 +core.events.keyDownToolbox // 工具栏界面时,按下某个键的操作 +core.events.keyUpToolbox // 工具栏界面时,放开某个键的操作 +core.events.clickSL // 存读档界面时的点击操作 +core.events.keyDownSL // 存读档界面时,按下某个键的操作 +core.events.keyUpSL // 存读档界面时,放开某个键的操作 +core.events.clickSwitchs // 系统设置界面时的点击操作 +core.events.keyDownSwitchs // 系统设置界面时,按下某个键的操作 +core.events.keyUpSwitchs // 系统设置界面时,放开某个键的操作 +core.events.clickSettings // 系统菜单栏界面时的点击事件 +core.events.keyDownSettings // 系统菜单栏界面时,按下某个键的操作 +core.events.keyUpSettings // 系统菜单栏界面时,放开某个键的操作 +core.events.clickSyncSave // 同步存档界面时的点击操作 +core.events.keyDownSyncSave // 同步存档界面时,按下某个键的操作 +core.events.keyUpSyncSave // 同步存档界面时,放开某个键的操作 +core.events.clickKeyBoard // 虚拟键盘界面时的点击操作 +core.events.clickAbout // “关于”界面时的点击操作 +``` + +!> `icons.js` 定义了素材ID和它在图片上的索引的对应关系。 + +!> `items.js` 定义了每个道具的名称,以及使用效果。 + +``` js +core.items.init // 初始化 +core.items.getItems // 获得所有道具 +core.items.getItemEffect // “即捡即用类”道具的使用效果 +core.items.getItemEffectTip // “即捡即用类”道具的文字提示 +* core.items.useItem // 使用道具 +* core.items.cauUseItem // 当前能否使用道具 +``` + +!> `maps.js` 定义了数字-ID的对应关系。 + +``` js +core.maps.loadFloor // 加载某个楼层(从剧本或存档中) +core.maps.getBlock // 数字和ID的对应关系 +core.maps.addEvent // 向该楼层添加剧本的自定义事件 +core.maps.addChangeFloor // 向该楼层添加剧本的楼层转换事件 +core.maps.initMaps // 初始化所有地图 +core.maps.save // 将当前地图重新变成数字,以便于存档 +core.maps.load // 将存档中的地图信息重新读取出来 +core.maps.getMapArray // 将当前地图重新变成二维数组形式 +``` + +!> `ui.js` 定义了各种界面的绘制。 + +``` js +core.ui.closePanel // 结束一切事件和绘制,关闭UI窗口,返回游戏进程 +core.ui.drawTextBox // 绘制一个对话框 +core.ui.drawChoices // 绘制一个选项界面 +core.ui.drawConfirmBox // 绘制一个确认/取消的警告页面 +core.ui.drawSwitchs // 绘制系统设置界面 +core.ui.drawSettings // 绘制系统菜单栏 +core.ui.drawQuickShop // 绘制快捷商店选择栏 +core.ui.drawBattleAnimate // 绘制战斗动画 +core.ui.drawWaiting // 绘制等待界面 +core.ui.drawSyncSave // 绘制存档同步界面 +core.ui.drawPagination // 绘制分页 +core.ui.drawEnemyBook // 绘制怪物手册 +core.ui.drawBookDetail // 绘制怪物属性的详细信息 +core.ui.drawFly // 绘制楼层传送器 +core.ui.drawMaps // 绘制浏览地图界面 +core.ui.drawToolbox // 绘制道具栏 +core.ui.drawSLPanel // 绘制存档/读档界面 +core.ui.drawThumbnail // 绘制一个缩略图 +core.ui.drawAbout // 绘制“关于”界面 +core.ui.drawHelp // 绘制帮助界面 +``` diff --git a/docs/api.md b/docs/api.md index 1939aa2c..85098a39 100644 --- a/docs/api.md +++ b/docs/api.md @@ -2,366 +2,453 @@ ?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} * -所有系统支持的API都列在了这里。所有可能被用到的API都在前面用\*标记。 +**这里只列出所有可能会被造塔者用到的常用API,更多的有关内容请在代码内进行查询。** + +如有任何疑问,请联系小艾寻求帮助。 可以在chrome浏览器的控制台中(`ctrl+shift+I`,找到Console)中直接进行调用,以查看效果。 -!> **`main.js`:游戏入口,所有其他JS文件都是被此文件加载。** +!> 最常用的新手向命令,强烈建议每个人了解 + +``` text + +core.status.floorId +获得当前层的floorId。 + + +core.status.maps +获得所有楼层的地图信息。 + + +core.status.thisMap +获得当前楼层信息,其等价于core.status.maps[core.status.floorId]。 + + +core.floors +获得所有楼层的信息,常常用来获取事件坐标。 + + +core.status.hero +获得当前勇士状态信息。例如core.status.hero.atk就是当前勇士的攻击力数值。 + + +core.material.enemys +获得所有怪物信息。例如core.material.enemys.greenSlime就是获得绿色史莱姆的属性数据。 + + +core.material.items +获得所有道具的信息。 + + +core.debug() +将攻防设置为10000,近似于无敌模式。 + + +core.updateStatusBar() +立刻刷新状态栏和地图显伤。 + + +core.setStatus('atk', 1000) +将攻击力设置为1000;这里把atk可以改成hp, def, mdef, money, experience等等。 +本句等价于 core.status.hero.atk = 1000 + + +core.getStatus('atk') +返回当前攻击力数值。本句等价于 core.status.hero.atk + + +core.setHeroLoc('x', 5) +设置勇士位置。这句话的意思是将勇士当前位置的横坐标设置为5。 +同理可以设置勇士纵坐标 core.setHeroLoc('y', 3)。 +值得注意的是,这句话虽然会使勇士改变位置,但并不会使界面重新绘制;如需立刻重新绘制地图还需调用: +core.clearMap('hero'); core.drawHero(); +来对界面进行更新。 + + +core.setItem('pickaxe', 10) +将破墙镐个数设置为10个。这里可以写任何道具的ID。 + + +core.getItem('pickaxe', 4) +另勇士获得四个破墙镐。这里可以写任何道具的ID。 + + +core.itemCount('pickaxe') +返回当前破墙镐的个数。这里可以写任何道具的ID。 + + +core.hasItem('pickaxe') +返回当前是否存在某个道具。等价于 core.itemCount('pickaxe')>0 。 + + +core.setFlag('xyz', 2) +设置某个flag/变量的值为2。这里可以写任何的flag变量名。 + + +core.getFlag('xyz', 7) +获得某个flag/变量的值;如果该变量不存在,则返回第二个参数。 +比如 core.getFlag('point', 2) 则获得变量point的值;如果该变量从未定义过则返回2。 + + +core.hasFlag('xyz') +返回是否存在某个变量且不为0。等价于 core.getFlag('xyz', 0)!=0 。 + + +core.insertAction(list) +插入并执行一段自定义事件。在这里你可以写任意的自定义事件列表,有关详细写法请参见文档-事件。 +例如: core.insertAction(["楼层切换", {"type":"changeFloor", "floorId": "MT3"}]) +将依次显示剧情文本,并执行一个楼层切换的自定义事件。 + + +core.changeFloor(floorId, stair, heroLoc, time, callback) +立刻切换到指定楼层。 +floorId为目标楼层ID,stair为到达的目标楼梯,heroLoc为到达的指定点,time为动画时间,callback为切换完毕后的回调。 +例如: +core.changeFloor('MT2', 'upFloor', null, 600) 切换到MT2层的上楼点,动画事件600ms +core.changeFloor('MT5', null, {'x': 3, 'y': 6}, 0) 无动画切换到MT5层的(3,6)位置。 + + +core.resetMap() +重置当前楼层地图。 +当我们修改某一层地图后,进游戏读档,会发现修改的内容并没有被更新上去。 +这是因为,H5的存档是会存下来每一个楼层的地图的,读档会从档里面获得地图信息。 +此时,如果我们在某一层地图执行 core.resetMap() ,则可以立刻从剧本中读取并重置当前楼层地图。 +已经被修改过的内容也会相应出现。 + + +R +录像回放的快捷键;这不是一个控制台命令,但是也把它放在这里供使用。 +录像回放在修改地图或新增数据后会很有用。 + + +localStorage +获得所有的存档数据。可以用 core.getLocalStorage('save1') 来具体获得某个存档。 -``` js -main.init // 初始化 -main.loaderJs // 动态加载所有核心JS文件 -main,loaderFloors // 动态加载所有楼层(剧本) -main.loadMod // 加载某一个JS文件 -main.loadFloor // 加载某一个楼层 -main.setMainTipsText // 加载过程提示 -window.onresize // 窗口大小变化时 -main.dom.body.onkeydown // 在界面上按下某按键时 -main.dom.body.onkeydown // 在界面上放开某按键时 -main.dom.body.onselectstart // 开始选择时 -main.dom.data.onmousedown // 鼠标按下时 -main.dom.data.onmousemove // 鼠标移动时 -main.dom.data.onmouseup // 鼠标放开时 -main.dom.data.onmousewheel // 鼠标滑轮滚动时 -main.dom.data.ontouchstart // 手指在触摸屏开始触摸时 -main.dom.data.ontouchmove // 手指在触摸屏上移动时 -main.dom.data.ontouchend // 手指离开触摸屏时 -main.statusBar.image.book.onclick // 点击状态栏中的怪物手册时 -main.statusBar.image.fly.onclick // 点击状态栏中的楼层传送器时 -main.statusBar.image.toolbox.onclick // 点击状态栏中的工具箱时 -main.statusBar.image.shop.onclick // 点击状态栏中的快捷商店时 -main.statusBar.image.save.onclick // 点击状态栏中的存档按钮时 -main.statusBar.image.load.onclick // 点击状态栏中的读档按钮时 -main.statusBar.image.settings.onclick // 点击状态栏中的系统菜单时 -main.dom.playGame.onclick // 点击“开始游戏”时 -main.dom.loadGame.onclick // 点击“载入游戏”时 -main.dom.replayGame.onclick // 点击“录像回放”时 -main.dom.easyLevel.onclick // 点击“简单难度”时 -main.dom.normalLevel.onclick // 点击“普通难度”时 -main.dom.hardLevel.onclick // 点击“困难难度”时 ``` -!> **`core.js`:系统核心文件。所有核心逻辑处理都在此文件完成。** +!> 一些相对高级的命令,针对有一定脚本经验的人 -``` js -* core.status.floorId // 获得当前层floorId -* core.status.thisMap // 获得当前层的地图信息 -* core.status.maps // 获得所有楼层的地图信息 -* core.floors // 获得所有楼层的剧本 +``` text -// ------ 初始化部分 ------ -core.init // 初始化 -core.showStartAnimate // 显示游戏开始界面 -core.hideStartAnimate // 隐藏游戏开始界面 -core.setStartProgressVal // 设置加载进度条进度 -core.setStartLoadTipText // 设置加载进度条提示文字 -core.loader // 加载图片和音频 -core.loadAutotile // 加载Autotile -core.loadImage // 加载图片 -core.loadMusic // 加载音频 -core.isPlaying // 游戏是否已经开始 -core.clearStatus // 清除游戏状态和数据 -core.resetStatus // 重置游戏状态和初始数据 -core.startGame // 开始游戏 -* core.restart // 重新开始游戏;此函数将回到标题页面 +========== 可直接从core中调用的,最常被使用的函数 ========== +core.js实际上是所有API的入口(路由),核心API的实现在其他几个文件中,core.js主要进行转发操作。 -// ------ 键盘、鼠标事件 ------ -core.onKeyDown // 按下某个键时 -core.onKeyUp // 放开某个键时 -core.pressKey // 按住某个键时 -core.keyDown // 根据按下键的code来执行一系列操作 -core.keyUp // 根据放开键的code来执行一系列操作 -core.ondown // 点击(触摸)事件按下时 -core.onmove // 当在触摸屏上滑动时 -core.onup // 当点击(触摸)事件放开时 -core.getClickLoc // 获得点击事件相对左上角的坐标(0到12之间) -core.onclick // 具体点击屏幕上(x,y)点时,执行的操作 -core.onmousewheel // 滑动鼠标滚轮时的操作 -// ------ 自动寻路代码相关 ------ -core.clearAutomaticRouteNode // 清除自动寻路路线 -core.stopAutomaticRoute // 停止自动寻路操作 -core.continueAutomaticRoute // 继续剩下的自动寻路操作 -core.clearContinueAutomaticRoute // 清空剩下的自动寻路列表 -core.setAutomaticRoute // 设置自动寻路路线 -core.automaticRoute // 自动寻路算法,找寻最优路径 -core.fillPosWithPoint // 显示离散的寻路点 -core.clearStepPostfix // 清除已经寻路过的部分 +core.nextX() +获得勇士面向的下一个位置的x坐标 -// ------ 自动行走,行走控制 ------ -core.stopAutoHeroMove // 停止勇士的自动行走 -core.setAutoHeroMove // 设置勇士的自动行走路线 -core.autoHeroMove // 让勇士开始自动行走 -core.setHeroMoveInterval // 设置行走的效果动画 -core.setHeroMoveTriggerInterval // 设置勇士行走过程中对事件的触发检测 -core.moveAction // 实际每一步的行走过程 -* core.turnHero(direction) // 设置勇士的方向(转向) -core.canMoveHero // 勇士能否前往某方向 -core.moveHero // 让勇士开始移动 -core.eventMoveHero // 使用事件让勇士移动。这个函数将不会触发任何事件。 -core.moveOneStep // 每移动一格后执行的事件。中毒时在这里进行扣血判断。 -core.waitHeroToStop(callback) // 停止勇士的一切行动,等待勇士行动结束后,再执行callback回调函数。 -core.stopHero // 停止勇士的移动状态。 -core.drawHero // 绘制勇士。 -* core.setHeroLoc(name, value) // 设置勇士的位置。name为”direction”,”x”,”y” -* core.getHeroLoc(name) // 获得勇士的位置。 -* core.nextX // 获得勇士面对位置的x坐标 -* core.nextY // 获得勇士面对位置的y坐标 +core.nextY() +获得勇士面向的下一个位置的y坐标 -// ------ 地图和事件处理 ------ -* core.openDoor(id, x, y, needKey, callback) // 打开一扇位于 (x,y) 的门 -* core.battle(id, x, y, force, callback) // 进行战斗;force表示是否强制战斗 -core.afterBattle // 战斗完毕 -core.trigger(x,y) // 触发x,y点的事件 -* core.changeFloor(floorId, stair, heroLoc, time, callback) // 楼层切换。floorId为目标楼层Id,stair可指定为上/下楼梯,time动画时间 -core.mapChangeAnimate // 地图切换动画效果 -core.clearMap // 清除地图 -core.fillText // 在某个canvas上绘制一段文字 -core.fillRect // 在某个canvas上绘制一个矩形 -core.strokeRect // 在某个canvas上绘制一个矩形的边框 -core.drawLine // 在某个canvas上绘制一条线 -core.setFont // 设置某个canvas的文字字体 -core.setLineWidth // 设置某个canvas的线宽度 -core.saveCanvas // 保存某个canvas状态 -core.loadCanvas // 加载某个canvas状态 -core.setStrokeStyle // 设置某个canvas边框属性 -core.setAlpha // 设置某个canvas的alpha值 -core.setOpacity // 设置某个canvas的透明度 -core.setFillStyle // 设置某个canvas的绘制属性(如颜色等) -* core.drawMap(mapId, callback) // 绘制某张地图。mapId为地图Id,绘制完毕将执行callback回调函数。 -core.drawAutotile // 绘制Autotile -* core.noPassExists(x,y) // 某个点是否不可通行 -core.noPass // 某个点是否在区域内且不可通行 -* core.npcExists(x,y) // 某个点是否存在NPC -* core.terrainExists(x,y) // 某个点是否存在(指定的)地形 -* core.stairExists(x,y) // 某个点是否存在楼梯 -* core.nearStair // 当前位置是否在楼梯边 -* core.enemyExists(x,y) // 某个点是否存在(指定的)怪物 -* core.getBlock(x, y, floorId, needEnable) // 获得某个点的block。floorId指定目标楼层,needEnable如果为false则即使该点的事件处于禁用状态也将被返回(否则只有事件启用的点才被返回) -core.moveBlock // 显示移动某块的动画,达到{“type”:”move”}的效果 -core.animateBlock // 显示/隐藏某个块时的动画效果 -core.showBlock // 将某个块从禁用变成启用状态 -core.removeBlock // 将某个块从启用变成禁用状态 -core.removeBlockById // 根据block的索引删除该块 -core.removeBlockByIds // 一次性删除多个block -core.addGlobalAnimate // 添加一个全局动画 -core.removeGlobalAnimate // 删除一个或所有全局动画 -core.setGlobalAnimate // 设置全局动画的显示效果 -core.syncGlobalAnimate // 同步所有的全局动画效果 -core.drawBoxAnimate // 绘制UI层的box动画 -core.updateCheckBlock // 更新领域、夹击、阻击的伤害地图 -core.checkBlock // 检查并执行领域、夹击、阻击事件 -core.snipe // 阻击事件(动画效果) -core.setFg // 更改画面色调 -* core.updateFg // 更新全地图显伤 -* core.itemCount // 获得某个物品的个数 -* core.hasItem // 是否存在某个物品 -* core.setItem // 设置某个物品的个数 -* core.removeItem // 删除某个物品 -* core.useItem // 使用某个物品;直接调用items.js中的useItem函数。 -* core.canUseItem // 能否使用某个物品。直接调用items.js中的canUseItem函数。 -* core.addItem // 增加某个物品的个数 -core.getNextItem // 获得面前的物品(轻按) -* core.getItem // 获得某个物品 -* core.drawTip // 左上角绘制一段提示 -* core.drawText // 地图中间绘制一段文字 +core.openDoor(id, x, y, needKey, callback) +尝试开门操作。id为目标点的ID,x和y为坐标,needKey表示是否需要使用钥匙,callback为开门完毕后的回调函数。 +例如:core.openDoor('yellowDoor', 10, 3, false, function() {console.log("1")}) -// ------ 系统机制 ------ -core.replaceText // 将文字中的${和}(表达式)进行替换 -core.calValue // 计算表达式的值 -core.doEffect // 执行一个表达式的effect操作 -core.splitLines // 字符串自动换行的分割 -core.unshift // 向某个数组前插入另一个数组或元素 -core.setLocalStorage // 设置本地存储 -core.getLocalStorage // 获得本地存储 -core.removeLocalStorage // 移除本地存储 -core.clone // 深拷贝一个对象 -core.formatDate // 格式化时间为字符串 -core.formatDate2 // 格式化时间为最简字符串 -core.setTwoDigits // 两位数显示 -core.debug // 进入Debug模式,攻防血和钥匙都调成很高的数值 -core.replay // 开始回放 -core.checkStatus // 判断当前能否进入某个事件 -core.openBook // 点击怪物手册时的打开操作 -core.useFly // 点击楼层传送器时的打开操作 -core.openToolbox // 点击工具栏时的打开操作 -core.openQuickShop // 点击快捷商店时的打开操作 -core.save // 点击保存按钮时的打开操作 -core.load // 点击读取按钮时的打开操作 -core.openSettings // 点击设置按钮时的打开操作 -core.autosave // 自动存档 -core.doSL // 实际进行存读档事件 -core.syncSave // 存档同步操作 -core.saveData // 存档到本地 -core.loadData // 从本地读档 -core.encodeRoute // 将路线压缩 -core.decodeRoute // 将路线解压缩 -* core.setStatus // 设置勇士属性 -* core.getStatus // 获得勇士属性 -core.getLvName // 获得某个等级的名称 -* core.setFlag // 设置某个自定义变量或flag -* core.getFlag // 获得某个自定义变量或flag -* core.hasFlag // 是否存在某个自定义变量或flag,且值为true -core.insertAction // 往当前事件列表之前插入一系列事件 -* core.lockControl // 锁定状态栏,常常用于事件处理 -* core.unlockControl // 解锁状态栏 -* core.isset // 判断某对象是否不为undefined也不会null -core.readFile // 读取一个本地文件内容 -core.download // 下载文件到本地 -core.copy // 复制一段文字到剪切板 -* core.playBgm // 播放背景音乐 -* core.pauseBgm // 暂停背景音乐的播放 -* core.resumeBgm // 恢复背景音乐的播放 -* core.playSound // 播放音频 -core.show // 动画显示某对象 -core.hide // 动画使某对象消失 -core.clearStatusBar // 清空状态栏 -core.updateStatusBar // 更新状态栏 -core.resize // 屏幕分辨率改变后重新自适应 -core.domRenderer // 渲染DOM -// ------ core.js 结束 ------ -``` - -!> **`data.js` 定义了一些初始化的数据信息。** - -!> **`enemys.js` 定义了怪物信息。** - -``` js -core.enemys.init // 初始化 -* core.enemys.getEnemys // 获得一个或所有怪物数据 -* core.enemys.hasSpecial // 判断是否含有某特殊属性 -* core.enemys.getSpecialText // 获得所有特殊属性的名称 -* core.enemys.getSpecialHint // 获得每个特殊属性的说明 -* core.enemys.getDamage // 获得某个怪物的伤害 -* core.enemys.getExtraDamage // 获得某个怪物的额外伤害 -* core.enemys.getCritical // 临界值计算 -* core.enemys.getCriticalDamage // 临界减伤计算 -* core.enemys.getDefDamage // 1防减伤计算 -* core.enemys.calDamage // 具体的伤害计算公式 -core.enemys.getCurrentEnemys // 获得当前楼层的怪物列表 -``` - -!> **`events.js` 定义了各个事件的处理流程。** - -``` js -core.events.init // 初始化 -core.events.getEvents // 获得一个或所有系统事件类型 -core.events.startGame // 游戏开始事件 -* core.events.setInitData // 不同难度分别设置初始属性 -* core.events.win // 游戏获胜事件 -* core.events.lose // 游戏失败事件 -core.evens.gameOver // 游戏结束 -core.events.afterChangeFloor // 转换楼层结束的事件 -core.events.doEvents // 开始执行一系列自定义事件 -core.events.doAction // 执行当前自定义事件列表中的下一个事件 -core.events.insertAction // 往当前事件列表之前添加一个或多个事件 -core.events.openShop // 打开一个全局商店 -core.events.disableQuickShop // 禁用一个全局商店 -* core.events.canUseQuickShop // 当前能否使用快捷商店 -* core.events.checkLvUp // 检查升级事件 -* core.events.useItem // 尝试使用道具 -core.events.addPoint // 加点事件 -core.events.afterBattle // 战斗结束后触发的事件 -core.events.afterOpenDoor // 开一个门后触发的事件 -core.events.passNet // 经过一个路障 -core.events.changeLight // 改变亮灯(感叹号)的事件 -* core.events.afterChangeLight // 改变亮灯之后,可以触发的事件 -* core.events.afterUseBomb // 使用炸弹/圣锤后的事件 -* core.events.beforeSaveData // 即将存档前可以执行的操作 -* core.events.afterLoadData // 读档事件后,载入事件前,可以执行的操作 - -// ------ 点击事件和键盘事件的处理 ------ -core.events.longClick // 长按 -core.events.keyDownCtrl // 按下Ctrl键时(快捷跳过对话) -core.events.clickConfirmBox // 确认框界面时的点击操作 -core.events.keyUpConfirmBox // 确认框界面时,放开某个键的操作 -core.events.clickAction // 自定义事件时的点击操作 -core.events.keyDownAction // 自定义事件时,按下某个键的操作 -core.events.keyUpAction // 自定义事件时,放开某个键的操作 -core.events.clickBook // 怪物手册界面的点击操作 -core.events.keyDownBook // 怪物手册界面时,按下某个键的操作 -core.events.keyUpBook // 怪物手册界面时,放开某个键的操作 -core.events.clickBookDetail // 怪物手册属性显示界面时的点击操作 -core.events.clickFly // 楼层传送器界面时的点击操作 -core.events.keyDownFly // 楼层传送器界面时,按下某个键的操作 -core.events.keyUpFly // 楼层传送器界面时,放开某个键的操作 -core.events.clickViewMaps // 浏览地图界面时的点击操作 -core.events.keyDownViewMaps // 浏览地图界面时,按下某个键的操作 -core.events.keyUpViewMaps // 浏览地图界面时,放开某个键的操作 -core.events.clickShop // 商店界面时的点击操作 -core.events.keyDownShop // 商店界面时,按下某个键的操作 -core.events.keyUpShop // 商店界面时,放开某个键的操作 -core.events.clickQuickShop // 快捷商店界面时的点击操作 -core.events.keyDownQuickShop // 快捷商店界面时,按下某个键的操作 -core.events.keyUpQuickShop // 快捷商店界面时,放开某个键的操作 -core.events.clickToolbox // 工具栏界面时的点击操作 -core.events.clickToolboxIndex // 选择工具栏界面中某个Index后的操作 -core.events.keyDownToolbox // 工具栏界面时,按下某个键的操作 -core.events.keyUpToolbox // 工具栏界面时,放开某个键的操作 -core.events.clickSL // 存读档界面时的点击操作 -core.events.keyDownSL // 存读档界面时,按下某个键的操作 -core.events.keyUpSL // 存读档界面时,放开某个键的操作 -core.events.clickSwitchs // 系统设置界面时的点击操作 -core.events.keyDownSwitchs // 系统设置界面时,按下某个键的操作 -core.events.keyUpSwitchs // 系统设置界面时,放开某个键的操作 -core.events.clickSettings // 系统菜单栏界面时的点击事件 -core.events.keyDownSettings // 系统菜单栏界面时,按下某个键的操作 -core.events.keyUpSettings // 系统菜单栏界面时,放开某个键的操作 -core.events.clickSyncSave // 同步存档界面时的点击操作 -core.events.keyDownSyncSave // 同步存档界面时,按下某个键的操作 -core.events.keyUpSyncSave // 同步存档界面时,放开某个键的操作 -core.events.clickKeyBoard // 虚拟键盘界面时的点击操作 -core.events.clickAbout // “关于”界面时的点击操作 -``` - -!> `icons.js` 定义了素材ID和它在图片上的索引的对应关系。 - -!> `items.js` 定义了每个道具的名称,以及使用效果。 - -``` js -core.items.init // 初始化 -core.items.getItems // 获得所有道具 -core.items.getItemEffect // “即捡即用类”道具的使用效果 -core.items.getItemEffectTip // “即捡即用类”道具的文字提示 -* core.items.useItem // 使用道具 -* core.items.cauUseItem // 当前能否使用道具 -``` - -!> `maps.js` 定义了数字-ID的对应关系。 - -``` js -core.maps.loadFloor // 加载某个楼层(从剧本或存档中) -core.maps.getBlock // 数字和ID的对应关系 -core.maps.addEvent // 向该楼层添加剧本的自定义事件 -core.maps.addChangeFloor // 向该楼层添加剧本的楼层转换事件 -core.maps.initMaps // 初始化所有地图 -core.maps.save // 将当前地图重新变成数字,以便于存档 -core.maps.load // 将存档中的地图信息重新读取出来 -core.maps.getMapArray // 将当前地图重新变成二维数组形式 -``` - -!> `ui.js` 定义了各种界面的绘制。 - -``` js -core.ui.closePanel // 结束一切事件和绘制,关闭UI窗口,返回游戏进程 -core.ui.drawTextBox // 绘制一个对话框 -core.ui.drawChoices // 绘制一个选项界面 -core.ui.drawConfirmBox // 绘制一个确认/取消的警告页面 -core.ui.drawSwitchs // 绘制系统设置界面 -core.ui.drawSettings // 绘制系统菜单栏 -core.ui.drawQuickShop // 绘制快捷商店选择栏 -core.ui.drawBattleAnimate // 绘制战斗动画 -core.ui.drawWaiting // 绘制等待界面 -core.ui.drawSyncSave // 绘制存档同步界面 -core.ui.drawPagination // 绘制分页 -core.ui.drawEnemyBook // 绘制怪物手册 -core.ui.drawBookDetail // 绘制怪物属性的详细信息 -core.ui.drawFly // 绘制楼层传送器 -core.ui.drawMaps // 绘制浏览地图界面 -core.ui.drawToolbox // 绘制道具栏 -core.ui.drawSLPanel // 绘制存档/读档界面 -core.ui.drawThumbnail // 绘制一个缩略图 -core.ui.drawAbout // 绘制“关于”界面 -core.ui.drawHelp // 绘制帮助界面 +core.battle(id, x, y, force, callback) +执行战斗事件。id为怪物的id,x和y为坐标,force为bool值表示打不过是否强制战斗,callback为战斗完毕后的回调函数。 +例如:core.battle('greenSlime', null, null, true) + + +core.trigger(x, y) +触发某个地点的事件。 + + +core.clearMap(mapName) +清空某个画布。mapName可为'bg', 'event', 'fg', 'event2', 'hero', 'animate', 'weather', 'ui', 'data', 'all'之一。 +如果mapName为'all',则为清空所有画布;否则只清空对应的画布。 + + +core.drawBlock(block) +重绘某个图块。block应为core.status.thisMap.blocks中的一项。 + + +core.drawMap(floorId, callback) +重绘某一层的地图数据。floorId为要绘制那一层的floorId,callback为绘制完毕后的回调函数。 + + +core.terrainExists(x, y, id, floorId) +检测某个点是否存在(指定的)地形。 +x和y为坐标;id为地形ID,可为null表示任意地形;floorId为楼层ID,可忽略表示当前楼层。 + + +core.enemyExists(x, y, id, floorId) +检测某个点是否存在(指定的)怪物。 +x和y为坐标;id为怪物ID,可为null表示任意怪物;floorId为楼层ID,可忽略表示当前楼层。 + + +core.getBlock(x, y, floorId, needEnable) +获得某个点的当前图块信息。 +x和y为坐标;floorId为楼层ID,可忽略或null表示当前楼层。 +needEnable表示该点是否启用时才返回,其值不设置则默认为true。 +该函数返回值如下: {"index": xxx, "block": xxx} +其中index为该点在该楼层blocks数组中的索引,block为该图块实际内容。 + + +core.showBlock(x, y, floorId) +将某个点从禁用变成启用状态 + + +core.removeBlock(x, y, floorId) +将某个点删除或从禁用变成启用状态。 +如果该点不存在自定义事件(比如普通的怪物),则将直接从地图中删除。 +否则将该点设置为禁用,以供以后可能的启用事件。 + + +core.useItem(itemId, callback) +尝试使用某个道具。itemId为道具ID,callback为成功或失败后的回调。 + + +core.canUseItem(itemId) +返回当前能否使用某个道具。 + + +core.getNextItem() +轻按。 + + +core.drawTip(text, itemIcon) +在左上角绘制一段提示信息,2秒后消失。itemIcon为道具图标的索引。 + + +core.drawText(contents, callback) +绘制一段文字。 + + +core.closePanel() +结束一切事件和绘制,关闭UI窗口,返回游戏进程。 + + +core.replaceText(text) +将一段文字中的${}进行计算并替换。 + + +core.calValue(value) +计算表达式的实际值。这个函数可以传入status:atk等这样的参数。 + + +core.getLocalStorage(key, defaultValue) +从localStorage中获得某个数据(已被parse);如果对应的key不存在则返回defaultValue。 + + +core.clone(data) +深拷贝某个对象。 + + +core.isset(x) +测试x是否不为null,不为undefined也不为NaN。 + + +core.rand(num) +使用伪种子生成伪随机数。该随机函数能被录像支持。 +num如果设置大于0,则生成一个[0, num-1]之间的数;否则生成一个0到1之间的浮点数。 +此函数为伪随机算法,SL大法无效。(即多次SL后调用的该函数返回的值都是相同的。) + + +core.rand2(num) +使用系统的随机数算法得到的随机数。该随机函数能被录像支持。 +num如果设置大于0,则生成一个[0, num-1]之间的数;否则生成一个0到2147483647之间的整数。 +此函数使用了系统的Math.random()函数,支持SL大法。 +但是,此函数会将生成的随机数值存入录像,因此如果调用次数太多则会导致录像文件过大。 + + +core.restart() +返回标题界面。 + + +core.updateFg() +更新全地图显伤。包括怪物显伤、临界显示和领域显伤等。 + + +========== core.actions.XXX 和游戏控制相关的函数 ========== +actions.js主要用来进行用户交互行为的处理。 +所有用户行为,比如按键、点击、滑动等等,都会被此文件接收并进行操作。 + + +========== core.control.XXX 和游戏控制相关的函数 ========== +control.js主要用来进行游戏控制,比如行走控制、自动寻路、存读档等等游戏核心内容。 + + +========== core.enemys.XXX 和怪物相关的函数 ========== +enemys.js主要用来进行怪物相关的内容,比如怪物的特殊属性,伤害和临界计算等。 + + +core.enemys.hasSpecial(special, test) +测试怪物是否含有某个特殊属性。 +常见用法: core.enemys.hasSpecial(monster.special, 3) ## 测试是否拥有坚固 + + +core.enemys.getSpecialText(enemyId) +返回一个列表,包含该怪物ID对应的所有特殊属性。 + + +core.enemys.getSpecialHint(enemy, special) +获得怪物某个(或全部)特殊属性的文字说明。 + + +core.enemys.canBattle(enemyId) +返回当前能否战胜某个怪物。 + + +core.enemys.getDamage(enemyId) +返回当前对某个怪物的战斗伤害。如果无法战斗,返回null。 + + +core.enemys.getExtraDamage(enemyId) +返回某个怪物会对勇士造成的额外伤害(不可被魔防抵消),例如仇恨、固伤等等。 + + +core.enemys.nextCriticals(enemyId, number) +返回接下来number个该怪物的临界。列表每一项类似 "x:y" 表示临界值为x,该临界减伤为y。 + + +core.enemys.getCritical(enemyId) +返回怪物的下一个临界值。无临界(如坚固、魔防等)返回'???'。 + + +core.enemys.getCriticalDamage(enemyId) +获得怪物的下一个临界减伤。 + + +core.enemys.getDefDamage(enemyId) +获得一防减伤值。 + + +core.enemys.getDamageInfo(enemyId, hero_hp, hero_atk, hero_def, hero_mdef) +获得实际战斗信息,比如伤害,回合数,每回合伤害等等。 +此函数是实际战斗过程的计算。 + + +core.enemys.calDamage(enemyId, hero_hp, hero_atk, hero_def, hero_mdef) +计算战斗伤害;实际返回的是上面getDamageInfo中伤害的数值。 + + +core.enemys.getCurrentEnemys(floorId) +获得某一层楼剩余所有怪物的信息(供怪物手册使用) + + +========== core.events.XXX 和事件相关的函数 ========== +events.js主要用来进行事件处理,比如自定义事件,以及某些条件下可能会被触发的事件。 +大多数事件API都在脚本编辑中存在,这里只列出部分比较重要的脚本编辑中不存在的API。 + + +core.events.gameOver(ending, fromReplay) +游戏结束并上传的事件。 +该函数将提问是否上传和是否下载录像,并返回标题界面。 + + +core.events.doEvents(list, x, y, callback) +开始执行某个事件。 + + +core.events.doAction() +执行下一个事件。此函数中将对所有自定义事件类型分别处理。 + + +core.events.openShop(shopId, needVisited) +打开一个全局商店。needVisited表示是否需要该商店已被打开过。 + + +core.events.disableQuickShop(shopId) +禁用一个全局商店 + + +core.events.canUseQuickShop(shopId) +当前能否使用某个快捷商店 + + +========== core.items.XXX 和道具相关的函数 ========== +items.js将处理和道具相关的内容,比如道具的使用,获取和删除等等。 + + +========== core.loader.XXX 和游戏加载相关的函数 ========== +loader.js将主要用来进行资源的加载,比如加载音乐、图片、动画等等。 + + +========== core.maps.XXX 和地图处理相关的函数 ========== +maps.js主要用来进行地图相关的的操作。包括绘制地图,获取地图上的点等等。 + + +core.maps.canMoveHero(x,y,direction,floorId) +判断能否前往某个方向。x,y为坐标,可忽略为当前点;direction为方向,可忽略为当前方向。 +floorId为楼层ID,可忽略为当前楼层。 + + +core.maps.canMoveDirectly(destX, destY) +判断当前能否瞬间移动到某个点。 + + +core.maps.removeBlockById(index, floorId) +根据索引删除或禁用某块。 + + +core.maps.removeBlockByIds(floorId, ids) +根据索引删除或禁用若干块。 + + +========== core.ui.XXX 和地图处理相关的函数 ========== +ui.js主要用来进行UI窗口的绘制,比如对话框、怪物手册、楼传器、存读档界面等等。 + + +core.ui.drawThumbnail(floorId, canvas, blocks, x, y, size, heroLoc, heroIcon) +绘制一个缩略图,比如楼传器界面,存读档界面等情况。 +floorId为目标楼层ID,canvas为要绘制到的图层,blocks为要绘制的所有图块。 +x,y为该图层开始绘制的起始点坐标,size为每一格的像素,heroLoc为勇士坐标,heroIcon为勇士图标。 + + +========== core.utils.XXX 和地图处理相关的函数 ========== +utils.js主要用来进行一些辅助函数的计算。 + + +core.utils.splitLines(canvas, text, maxLength, font) +自动切分长文本的换行。 +canvas为图层,text为要自动换行的内容,maxLength为每行最长像素,font为文本的字体。 + + +core.utils.cropImage(image, size) +纵向对图片进行切分(裁剪)。 + + +core.utils.unshift(a, b) +向某个数组前插入另一个数组或元素 + + +core.utils.formatBigNumber(x) +大数据的格式化 + + +core.utils.arrayToRGB(color) +将形如[255,0,0]之类的数组转成#FF0000这样的RGB形式。 + + +core.utils.encodeRoute(list) +压缩加密路线。可以使用core.encodeRoute(core.status.route)来压缩当前路线。 + + +core.utils.decodeRoute(route) +解压缩(解密)路线。 + + +core.utils.readFile(success, error, readType) +尝试请求读取一个本地文件内容。 +success和error为成功/失败后的回调,readType不设置则以文本读取,否则以DataUrl形式读取。 + + +core.utils.readFileContent(content) +文件读取完毕后的内容处理。 + + +core.utils.download(filename, content) +尝试生成并下载一个文件。 + + +core.utils.copy(data) +尝试复制一段文本到剪切板。 + + +core.http(type, url, formData, success, error, mimeType) +发送一个异步HTTP请求。 +type为'GET'或者'POST';url为目标地址;formData如果是POST请求则为表单数据。 +success为成功后的回调,error会失败后的回调,mimeType如果设置则覆盖。 + ``` diff --git a/docs/img/console.png b/docs/img/console.png new file mode 100644 index 0000000000000000000000000000000000000000..68f550191293fc3bb959078c66d87eee7915a7ea GIT binary patch literal 160020 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 literal 0 HcmV?d00001 diff --git a/docs/start.md b/docs/start.md index 195767ae..d6d80fd6 100644 --- a/docs/start.md +++ b/docs/start.md @@ -168,9 +168,36 @@ 素材注册完毕后,即可在游戏中正常使用,也可以被地图生成器所识别(需要重开地图生成器)。 +## 控制台调试 + +HTML5的塔都是可以进行控制台调试的。 + +当我们使用Chrome进入游戏后,可以按 `Ctrl+Shift+I` ,并找到 `Console` 控制台。 + +![控制台](./img/console.png) + +在控制台中,我们可以输入一些命令对游戏进行调试,常见的命令有: + +- `core.debug()` 无敌模式;使用此命令将会把攻防都置为10000,方便进行乱撞。 +- `core.setStatus('atk', 100)` 直接设置勇士的属性;这里可以把`atk`换成`hp`, `def`, `mdef`, `money`, `experience`等之一。 +- `core.getStatus('atk')` 获得勇士的属性数据。 +- `core.setItem('pickaxe', 10)` 直接设置勇士某个道具的个数。这里可以需要写道具的ID。 +- `core.itemCount('pickaxe')` 获得勇士某个道具的个数。请注意不是getItem,那个函数是用来游戏中获取道具的。 +- `core.setFlag('xxx', 1)` 设置某个flag/自定义变量的值 +- `core.getFlag('xxx', 10)` 获得某个flag/自定义变量的值;如果该项不存在(未被定义),则返回第二个参数的值。 +- `core.insertAction(list)` 执行一段自定义事件。比如 `core.insertAction(["你好"])` 将执行一个剧情文本显示事件。 +- `core.status.floorId` 获得当前层的floorId +- `core.changeFloor('MT2')` 立刻执行楼层切换到MT2层。 +- `core.getBlock(3, 5, 'MT1')` 获得当前地图上某一个块的信息。第三个参数为floorId,可省略表示当前楼层。 +- `core.resetMap()` 重置当前层地图。当修改地图后,再读档时修改的地图不会立刻生效,此时可以使用resetMap来重置当前楼层的地图。 +…… + +更多API和详细参数介绍可参见[API列表](api)。 + + ## 报错处理 -有时候刷新后可能页面变成空白,即无法正确加载,游戏也无法正常进入。 +有时候刷新后可能地图编辑器页面变成空白,即无法正确加载,游戏也无法正常进入。 出现这种问题的原因往往是如下几种: - 手动直接打开并错误编辑了文件 diff --git a/libs/core.js b/libs/core.js index 525d3685..0af085d3 100644 --- a/libs/core.js +++ b/libs/core.js @@ -893,6 +893,11 @@ core.prototype.startReplay = function (list) { core.control.startReplay(list); } +////// 关闭UI窗口 ////// +core.prototype.closePanel = function () { + core.ui.closePanel(); +} + ////// 更改播放状态 ////// core.prototype.triggerReplay = function () { core.control.triggerReplay(); diff --git a/更新说明.txt b/更新说明.txt index d9e15cda..fbdb7e9e 100644 --- a/更新说明.txt +++ b/更新说明.txt @@ -6,6 +6,7 @@ while循环事件 √ 最大存档个数提到main处理 √ 新建地图可以保留楼层属性 √ 自定义装备的教程(个性化 - 自定义装备) √ +重写教程的快速上手 √ 部分Bug修复 √ -----------------------------------------------------------------------