This commit is contained in:
ckcz123 2020-06-15 10:33:43 +08:00
parent 90c70599d9
commit f3ce272e43
2 changed files with 32 additions and 11 deletions

View File

@ -96,7 +96,7 @@
* 普攻动画:`project\animates`文件夹中任何一个文件的名称(不带后缀,但需要在全塔属性中注册过),只对第一个装备孔有效。普攻动画会播放在和勇士战斗的怪物位置处,如果是强制战斗的天降怪物,则会播放在勇士身上并跟随,请自行注意。详见“文件注册”使用动画。
* 数值提升项若干个键值对表示该装备增加属性的常数值支持负数。7个常用属性可以通过下拉框选取自定义的新属性也可以手动输入。
* 百分比提升项:若干个键值对,表示该装备增加属性的百分比(支持负数,如填-10就表示减少10%),修改方法同上。
* 装备对属性的影响原理:在穿脱装备时,会根据数值提升项和百分比提升项,分别调用`core.status.hero.xxx += yyy和core.addBuff('xxx', yyy)`这两个API衰弱的附加和解除同理而状态栏的显示值和战斗中的使用值则是`core.getStatus('xxx')`和buff值相乘再向下取整所得。
* 装备对属性的影响原理:在穿脱装备时,会根据数值提升项和百分比提升项,分别调用`core.status.hero.xxx += yyy``core.addBuff('xxx', yyy)`这两个API衰弱的附加和解除同理而状态栏的显示值和战斗中的使用值则是`core.getStatus('xxx')`和buff值相乘再向下取整所得。
* PC端按下Ctrl+0~9可以保存当前套装Alt+0~9快速更换套装。
道具相关API请阅读[API列表](api)。

View File

@ -80,16 +80,37 @@ HTML5项目都是可以进行控制台调试的下面以edge浏览器为例
1. **元素:**您可以在这里对游戏和编辑器的各HTML和css元素进行查看和临时的修改譬如您想观察游戏在竖屏的表现只需将窗口拉到瘦高。
2. **性能:**您可以在这里对游戏的任何一段脚本进行性能分析,观察其中各行的执行频率和耗时,从而确定优化的方向。
3. **调试程序:**您可以在这里查看游戏的源码包括project文件夹的functions.js和plugin.js脚本编辑和插件编写以及整个libs文件夹并进行断点调试。
4. **控制台:**最常使用的部分当编辑器或游戏打不开、卡死、或者不按您的预想运作时您就需要查看这里的报错信息。这里也是各种API输入的地方譬如上图中您可以看到全部的插件函数。这里介绍几个最基本的命令更多通用命令请前往[菜鸟教程](http://www.runoob.com/js)或[w3school](http://w3school.com.cn/js/index.asp)学习更多样板API请查阅runtime.d.ts这是个文本文件不是音频。手机打不开的话请将后缀名改为txt
``` js
alert('Hello world!'); // 弹窗警告,请勿放在正常游戏流程中可以触发的地方
console.log('Hello world'); // 在控制台打印一条信息,可用于游戏流程的任何部分
Math.floor(3.2); // 执行一个数学函数计算,计算不大于某数的最大整数
// 以上是所有网页通用的命令下面介绍HTML5魔塔样板特有的API. 样板API都是以core.xxx开头的比如
core.material; // 查看游戏的所有元件(只读),如动画、音频、图片、道具和怪物等
core.status; // 查看游戏的所有状态其中又以core.status.hero为核心
core.getItem('yellowKey', 3); // 获得3把黄钥匙有获得提示并播放音效
```
4. **控制台:**最常使用的部分当编辑器或游戏打不开、卡死、或者不按您的预想运作时您就需要查看这里的报错信息。这里也是各种API输入的地方譬如上图中您可以看到全部的插件函数。
在控制台中,我们可以输入一些命令对游戏进行调试,常见的命令有:
- `core.status.floorId` 获得当前层的floorId。
- `core.status.thisMap` 获得当前地图信息。例如`core.status.thisMap.blocks`可以获得当前层所有图块。
- `core.floors` 获得所有剧本的信息。例如`core.floors[core.status.floorId].events`可以获得当前层所有事件。
- `core.status.hero` 获得当前勇士状态信息。例如`core.status.hero.atk`就是当前勇士的攻击力数值。
- `core.material.enemys` 获得所有怪物信息。例如`core.material.enemys.greenSlime`就是获得绿色史莱姆的属性数据。
- `core.material.items` 获得所有道具的信息。例如`core.material.items.pickaxe`就是获得破墙镐的信息。
- `core.debug()` 开启调试模式此模式下可以按住Ctrl键进行穿墙。
- `core.updateStatusBar()` 立刻更新状态栏和地图显伤。
- `core.setStatus('atk', 1000)` 直接设置勇士的某项属性。本句等价于 `core.status.hero.atk = 1000`
- `core.getStatus('atk')` 返回勇士当前某项属性数值。本句等价于 `core.status.hero.atk`
- `core.setItem('pickaxe', 10)` 直接设置勇士某个道具的个数。这里可以需要写道具的ID。
- `core.getItem('pickaxe', 2)` 令勇士获得两个破墙镐。
- `core.itemCount('pickaxe')` 返回勇士某个道具的个数。
- `core.hasItem('pickaxe')` 返回勇士是否拥有某个道具。等价于`core.itemCount('pickaxe')!=0`。
- `core.getEquip(0)` 返回0号装备类型武器的当前装备的itemId不存在则返回null
- `core.hasEquip('sword1')` 返回某个装备当前是否处于被装备状态
- `core.setFlag('xxx', 1)` 设置某个flag/自定义变量的值。
- `core.getFlag('xxx', 10)` 获得某个flag/自定义变量的值;如果该项不存在(未被定义),则返回第二个参数的值。
- `core.hasFlag('xxx')` 返回是否存在某个变量且不为0。等价于`core.getFlag('xxx', 0)!=0`。
- `core.removeFlag('xxx')` 删除某个flag/自定义变量
- `core.insertAction(list)` 执行一段自定义事件。比如 `core.insertAction(["剧情文本"])` 将执行一个剧情文本显示事件。
- `core.changeFloor('MT2', 'downFloor')` 立刻执行楼层切换到MT2层的下楼点位置。
- `core.changeFloor('MT5', null, {'x': 4, 'y': 7})` 立刻切换楼层到MT5层的(4,7)点。
- `core.getBlock(3, 5, 'MT1')` 获得当前地图上某一个块的信息。第三个参数为floorId可省略表示当前楼层。
- `core.getBlockId(3, 5, 'MT1')` 获得当前地图上某一个点的图块ID。第三个参数为floorId可省略表示当前楼层。
- `core.resetMap()` 重置当前层地图。
- ……
更多关于控制台调试和脚本的信息可参见[脚本](script)和[API列表](api)。