type:insert
This commit is contained in:
1 parent
190b2d586b
commit
7e7d5dd563
7 files changed
+68
-4
No files matched your search
@@ -477,6 +477,32 @@ NPC对话事件结束后如果需要NPC消失也需要调用 `{"type": "hide"}`
|
||||
|
||||
例如上面这个例子,下面的文字将不会再被显示,而是直接跳转到`"3,6"`对应的事件列表从头执行。
|
||||
|
||||
### insert:插入另一个地点的事件
|
||||
|
||||
`{"type":"insert"}` 会插入另一个地点的事件执行。
|
||||
|
||||
其基本写法如下:
|
||||
|
||||
``` js
|
||||
"x,y": [ // 实际执行的事件列表
|
||||
{"type": "insert", "loc": [3,6]}, // 插入[3,6]点的事件并执行
|
||||
{"type": "insert", "loc": [10,10], "floorId": "MT1"}, // 插入MT1层[10,10]点的事件并执行
|
||||
"上面的插入事件执行完毕后会接着继续执行后面的事件"
|
||||
]
|
||||
```
|
||||
|
||||
loc是必须的,代表另一个地点的坐标。
|
||||
|
||||
floorId可选,代表另一个地点所在的楼层;如果不写则默认为当前层。
|
||||
|
||||
和`type:trigger`不同的是,**`type:trigger`是立刻将当前事件结束(剩下所有内容都忽略),然后重新启动另一个地点的action事件。**
|
||||
|
||||
但是`type:insert`不会结束当前事件,而是直接将另一个地点的事件列表“插入”到当前事件列表中执行。
|
||||
|
||||
**这个过程中,当前事件不会被结束,当前的楼层和事件坐标不会发生改变。** 插入的事件执行完毕后,会继续执行接下来的内容。
|
||||
|
||||
我们某个事件写在某个角落的墙上然后远程调用,从而达到“公共事件”的效果。
|
||||
|
||||
### revisit:立即重启当前事件
|
||||
|
||||
revisit和trigger完全相同,只不过是立刻触发的还是本地点的事件
|
||||
|
||||
+10
-1
@@ -521,6 +521,15 @@ case 89: // 使用该按键的keyCode,比如Y键就是89
|
||||
|
||||
## 公共事件
|
||||
|
||||
从2.5.1开始,H5提供了`{"type":"insert"}`事件,完美支持了公共事件的写法。
|
||||
|
||||
我们只需要将需要的公共事件放在某个角落的墙上(或者甚至单独弄一层专门摆放公共事件),并使用“插入事件”,即可进行调用。
|
||||
|
||||
具体详见[插入另一个地点的事件](event#insert:插入另一个地点的事件)。
|
||||
|
||||
当然,继续使用**插件**的写法也是可以的。具体参见“脚本编辑 - 插件编写”。
|
||||
|
||||
<!--
|
||||
在RM中,存在公共事件的说法;也就是通过某个指令来调用一系列事件的触发。
|
||||
|
||||
在H5中,我们可以使用“插件”的形式来达成这个效果。具体参见“脚本编辑 - 插件编写”。
|
||||
@@ -547,7 +556,7 @@ this.myfunc = function(x) {
|
||||
然后比如我们在某个道具的使用效果 `useItemEffect` 中写 `core.plugin.myfunc(2)` 即可调用此公共事件(插件)。也可以在战后事件或自定义脚本等位置来写。
|
||||
|
||||
通过这种,将脚本和自定义事件混用的方式,可以达到和RM中公共事件类似的效果,即一个调用触发一系列事件。
|
||||
|
||||
-->
|
||||
## 自定义状态栏(新增显示项)
|
||||
|
||||
在V2.2以后,我们可以自定义状态栏背景图(全塔属性 - statusLeftBackground)等等。
|
||||
|
||||
Reference in new issue
Block a user