From 59ba343881a54bcc682f4ce7adde6b375457b040 Mon Sep 17 00:00:00 2001 From: oc Date: Fri, 11 May 2018 18:22:31 +0800 Subject: [PATCH] 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修复 √ -----------------------------------------------------------------------