Equipment Docs
This commit is contained in:
parent
647dda4836
commit
b0dc4d8286
@ -1,6 +1,6 @@
|
||||
# V2.0版本介绍
|
||||
|
||||
?> 目前版本**v2.2**,上次更新时间:* {docsify-updated} *
|
||||
?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
|
||||
|
||||
目前样板已经更新到V2.0版本以上,本章将对V2.0的一些内容进行介绍。
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# 附录:API列表
|
||||
|
||||
?> 目前版本**v2.2**,上次更新时间:* {docsify-updated} *
|
||||
?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
|
||||
|
||||
所有系统支持的API都列在了这里。所有可能被用到的API都在前面用\*标记。
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# 元件说明
|
||||
|
||||
?> 目前版本**v2.2**,上次更新时间:* {docsify-updated} *
|
||||
?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
|
||||
|
||||
在本章中,将对样板里的各个元件进行说明。各个元件主要包括道具、门、怪物、楼梯等等。
|
||||
|
||||
@ -24,15 +24,7 @@
|
||||
|
||||
如果需要让剑盾等变成装备,可以直接在`data.js`中设置`'equipment': true`即可。
|
||||
|
||||
值得注意的是,有时候会有一个装备加多种属性的需求,此时需要把剑盾的效果从数值改成一个对象:
|
||||
|
||||
``` js
|
||||
"sword1": {"atk": 10, "def": 0, "mdef": 5}, // 铁剑加10攻和5魔防
|
||||
"shield1": {"atk": 0, "def": 10, "mdef": 10}, // 铁盾加10防和10魔防
|
||||
```
|
||||
|
||||
将需要的项目按照如上方式修改即可。
|
||||
|
||||
有关装备更为详细的资料可参见[自定义装备](personalization#自定义装备)的说明。
|
||||
|
||||
## 门
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# 事件
|
||||
|
||||
?> 目前版本**v2.2**,上次更新时间:* {docsify-updated} *
|
||||
?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
|
||||
|
||||
本章内将对样板所支持的事件进行介绍。
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# HTML5 魔塔样板说明文档
|
||||
|
||||
?> 目前版本**v2.2**,上次更新时间:* {docsify-updated} *
|
||||
?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
|
||||
|
||||
众所周知,魔塔的趋势是向移动端发展,贴吧中也常常能见到“求手机魔塔”的帖子。然而现有的工具中,NekoRPG有着比较大的局限性,游戏感较差,更是完全没法在iOS上运行。而一些APP的魔塔虽然可用,但是必须要下载安装,对于Android和iOS还必须开发不同的版本,非常麻烦。
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# 个性化
|
||||
|
||||
?> 目前版本**v2.2**,上次更新时间:* {docsify-updated} *
|
||||
?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
|
||||
|
||||
有时候只靠样板本身可能是不够的。我们需要一些个性化、自定义的素材,道具效果,怪物属性,等等。
|
||||
|
||||
@ -280,6 +280,79 @@ control.prototype.checkBlock = function () {
|
||||
```
|
||||
4. 如果有更高的需求,例如想让吸血效果变成一半(如异空间),则还是在上面这些地方进行对应的修改即可。
|
||||
|
||||
## 自定义装备
|
||||
|
||||
由于HTML5魔塔并不像RM那样存在一个装备界面可供我们对装备进行调整,但是我们也可以使用一个替代的方式实现这个目标。
|
||||
|
||||
### 装备的实现原理
|
||||
|
||||
在HTML5中,装备将全部看成是永久道具(constants),同时对于每个装备位置,勇士都定义一个flag域表示正在装备的内容。
|
||||
|
||||
例如:当勇士获得银剑时,将获得一个永久道具“银剑”;当使用这个银剑,首先检查勇士当前是否装备了武器(比如铁剑),如果
|
||||
装备了则先脱掉装备(减去已装备的铁剑所加的属性,并获得永久道具铁剑),然后再穿上新的银剑。
|
||||
|
||||
同时由于脱剑术和脱盾术的存在,我们还需要一个“脱掉装备”的永久道具(比如sword0),使用它可以脱掉对应位置的装备。
|
||||
|
||||
### 装备加值的修改
|
||||
|
||||
要启用装备,首先需要在data.js(全塔属性)中设置`'equipment': true`。此时,游戏内将自动将剑盾变成装备的存在,其
|
||||
所加的数值就是全塔属性中对应的数值(比如铁剑sword1就加的全塔属性中sword1的值)。
|
||||
|
||||
有时候,我们还会有一个装备加多种属性的需求,此时需要将对应的项从数值改变成一个对象。
|
||||
|
||||
``` js
|
||||
"sword1": {"atk": 10, "def": 0, "mdef": 5}, // 铁剑加10攻和5魔防
|
||||
"shield1": {"atk": 0, "def": 10, "mdef": 10}, // 铁盾加10防和10魔防
|
||||
```
|
||||
|
||||
通过这种方式,当穿上装备时,将会给你的三围分别加上对应项的数值。
|
||||
|
||||
### 新增剑盾
|
||||
|
||||
样板默认提供了铁剑(盾),银剑(盾),骑士剑(盾),圣剑(盾)和神圣剑(盾)这五类装备。但有时候,五类是不够的,
|
||||
我们可能还需要更多的剑盾。
|
||||
|
||||
要增加更多的剑盾,我们需要进行如下步骤:(以新增剑为例)
|
||||
|
||||
1. 新注册一个素材到游戏;**其ID必须是sword+数字的形式,比如sword6等。**(同理如果是盾就必须是shield+数字的形式比如shield6。)
|
||||
2. 将其cls设置为`constants`,`useItemEffect`和`canUseItem`直接复制其他几个剑盾的内容。
|
||||
(即:`useItemEffect`必须为`"core.plugin.useEquipment(itemId)"`,`canUseItemEffect`必须为`"true"`)。
|
||||
3. 使用VSCode或其他文本编辑器直接打开`data.js`文件,并在`"values"`中仿照已有的内容添加剑盾的属性。
|
||||
(例如:`"sword6": 100`,或者`"sword6": `{"atk": 100, "def": 0, "mdef": 50}`)
|
||||
|
||||
!> 请注意:新的剑的ID必须是sword+数字,新的盾的ID必须是shield+数字的形式,不然装备将无效!
|
||||
|
||||
### 新增其他部位的装备
|
||||
|
||||
如果我们还需要新增更多部位的装备,比如戒指、首饰等等,也是可以的,只需要依次进行如下步骤:(以新建戒指为例)
|
||||
|
||||
1. 选择一个装备的部位的ID;比如假设我们的装备部位为戒指,那么我们可以选择"ring"作为装备的部位。
|
||||
2. 定义一个空戒指,相当于脱掉戒指。注册一个素材到游戏,**其ID必须是ring0**(即部位ID+数字0)。
|
||||
3. 同上述新建剑盾的方式来设置ring0这个空戒指的属性。请注意打开data.js后,设置的其值必须为0。
|
||||
(即:必须是`"ring0": 0`)
|
||||
3. 创建更多的戒指;每加一个新的戒指到游戏,其ID必须是**ring+数字**的形式,比如`ring1`, `ring2`,等等。
|
||||
4. 对于每一个创建的戒指,按照上述新建剑盾的方式设置属性(图块属性,打开data.js直接编辑)。
|
||||
(例如:`"ring2": {"atk": 3, "def": 5, "mdef": 8}`)
|
||||
5. **切换到脚本编辑 - 自定义插件编写,在`this.useEquipment`中仿照着新增一行代表戒指的使用。**
|
||||
|
||||
``` js
|
||||
this.useEquipment = function (itemId) { // 使用装备
|
||||
_useEquipment(itemId, "sword", "atk"); // 剑
|
||||
_useEquipment(itemId, "shield", "def"); // 盾
|
||||
_useEquipment(itemId, "ring", "mdef"); // 新增的戒指
|
||||
}
|
||||
```
|
||||
|
||||
我们仿照着新增一行`_useEquipment(itemId, "ring", "mdef")`。
|
||||
|
||||
其中第二项为装备部位的ID,比如我们上述定义的是ring;第三项表示“如果values中该值为数字,则加到什么属性上”。
|
||||
比如如果我们这里写mdef,那么我们假设在data.js的values中设置`"ring1": 20`,则使用该戒指会增加20点魔防。
|
||||
|
||||
如果你定义的是对象`{"atk": xxx, "def": xxx, "mdef": xxx}`的形式,则不会受到第三项的影响。
|
||||
|
||||
!> 必须对于每一个装备部位定义唯一一个不同的ID;脱掉装备(空装备)必须是该ID加数字0的形式,其他有效装备必须是
|
||||
该ID+正整数的形式,不然会出错!
|
||||
|
||||
## 自定义怪物属性
|
||||
|
||||
如果你对现有的怪物不满意,想自行添加怪物属性(例如让怪物拥有双属性乃至更多属性),也是可以的。具体参见`enemys.js`文件。
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# 快速上手
|
||||
|
||||
?> 目前版本**v2.2**,上次更新时间:* {docsify-updated} *
|
||||
?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
|
||||
|
||||
在这一节中,将详细介绍做一部塔的流程。现在,让我们来做一部单层塔!
|
||||
|
||||
|
||||
@ -105,13 +105,13 @@ items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
||||
},
|
||||
"sword0": {
|
||||
"cls": "constants",
|
||||
"name": "折断的剑",
|
||||
"text": "没有任何作用的剑,相当于脱掉装备。"
|
||||
"name": "空剑",
|
||||
"text": "使用可脱掉当前装备的剑。"
|
||||
},
|
||||
"shield0": {
|
||||
"cls": "constants",
|
||||
"name": "残破的盾",
|
||||
"text": "没有任何作用的盾,相当于脱掉装备。"
|
||||
"name": "空盾",
|
||||
"text": "使用可脱掉当前装备的盾。"
|
||||
},
|
||||
"book": {
|
||||
"cls": "constants",
|
||||
|
||||
@ -76,7 +76,9 @@ maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
|
||||
'63':{'cls': 'items', 'id': 'moneyPocket'}, // 金钱袋
|
||||
'64':{'cls': 'items', 'id': 'shoes'}, // 绿鞋
|
||||
'65':{'cls': 'items', 'id': 'hammer'}, // 圣锤
|
||||
'66':{'cls': 'items', 'id': 'lifeWand'}, // 生命魔杖
|
||||
'66':{'cls': 'items', 'id': 'sword0'}, // 空剑
|
||||
'67':{'cls': 'items', 'id': 'shield0'}, // 空盾
|
||||
'68':{'cls': 'items', 'id': 'lifeWand'}, // 生命魔杖
|
||||
|
||||
|
||||
////////////////////////// 门、楼梯、传送点部分 //////////////////////////
|
||||
|
||||
Loading…
Reference in New Issue
Block a user