Async move & jump

This commit is contained in:
ckcz123 2018-11-30 21:28:54 +08:00
parent cbbd973357
commit f42ca87298
2 changed files with 15 additions and 7 deletions

View File

@ -990,7 +990,7 @@ level为天气的强度等级在1-10之间。1级为最弱10级为最强
{"type": "move", "time": 750, "loc": [x,y], "steps": [// 动画效果time为移动速度(比如这里每750ms一步)loc为位置可选steps为移动数组 {"type": "move", "time": 750, "loc": [x,y], "steps": [// 动画效果time为移动速度(比如这里每750ms一步)loc为位置可选steps为移动数组
{"direction": "right", "value": 2},// 这里steps 的效果为向右移动2步在向下移动一步并消失 {"direction": "right", "value": 2},// 这里steps 的效果为向右移动2步在向下移动一步并消失
"down" // 如果该方向上只移动一步则可以这样简写效果等价于上面value为1 "down" // 如果该方向上只移动一步则可以这样简写效果等价于上面value为1
], "keep": true }, // keep可选如果为true则不消失否则渐变消失 ], "keep": true, "async":true }, // keep可选如果为true则不消失否则渐变消失async可选如果为true则异步执行。
] ]
``` ```
@ -1026,7 +1026,9 @@ keep为一个可选项代表该事件移动完毕后是否消失。如果该
} }
``` ```
在移动的到达点指定一个初始禁用的相同NPC然后move事件中指定immediateHide使立刻消失并show该到达点坐标使其立刻显示看起来就像没有消失然后就可以触发目标点的事件了。 在移动的到达点指定一个事件然后move事件中指定"keep":true然后就可以触发目标点的事件了。
async可选如果为true则会异步执行即不等待当前事件执行完毕立刻执行下一个事件
### moveHero移动勇士 ### moveHero移动勇士
@ -1036,7 +1038,7 @@ keep为一个可选项代表该事件移动完毕后是否消失。如果该
``` js ``` js
"x,y": [ // 实际执行的事件列表 "x,y": [ // 实际执行的事件列表
{"type": "moveHero", "time": 750, "steps": [// 动画效果time为移动速度(比如这里每750ms一步)steps为移动数组 {"type": "moveHero", "time": 750, "async": true, "steps": [// 动画效果time为移动速度(比如这里每750ms一步)steps为移动数组
{"direction": "right", "value": 2},// 这里steps 的效果为向右移动2步在向下移动一步并消失 {"direction": "right", "value": 2},// 这里steps 的效果为向右移动2步在向下移动一步并消失
"down" // 如果该方向上只移动一步则可以这样简写效果等价于上面value为1 "down" // 如果该方向上只移动一步则可以这样简写效果等价于上面value为1
]}, ]},
@ -1047,6 +1049,8 @@ keep为一个可选项代表该事件移动完毕后是否消失。如果该
不过值得注意的是,用这种方式移动勇士的过程中将无视一切地形,无视一切事件,中毒状态也不会扣血。 不过值得注意的是,用这种方式移动勇士的过程中将无视一切地形,无视一切事件,中毒状态也不会扣血。
async可选如果为true则会异步执行即不等待当前事件执行完毕立刻执行下一个事件
### jump让某个NPC/怪物跳跃 ### jump让某个NPC/怪物跳跃
如果我们需要移动某个NPC或怪物可以使用`{"type": "jump"}`。 如果我们需要移动某个NPC或怪物可以使用`{"type": "jump"}`。
@ -1055,7 +1059,7 @@ keep为一个可选项代表该事件移动完毕后是否消失。如果该
``` js ``` js
"x,y": [ // 实际执行的事件列表 "x,y": [ // 实际执行的事件列表
{"type": "jump", "from": [3,6], "to": [2,1], "time": 750, "keep": true}, {"type": "jump", "from": [3,6], "to": [2,1], "time": 750, "keep": true, "async": true},
] ]
``` ```
@ -1069,6 +1073,8 @@ keep为一个可选项同上代表该跳跃完毕后是否不消失。如果
如果指定了`"keep": true`,则相当于会在目标地点触发一个`setBlock`事件;如需能继续对话交互请在目标地点再写事件。 如果指定了`"keep": true`,则相当于会在目标地点触发一个`setBlock`事件;如需能继续对话交互请在目标地点再写事件。
async可选如果为true则会异步执行即不等待当前事件执行完毕立刻执行下一个事件
### jumpHero跳跃勇士 ### jumpHero跳跃勇士
如果我们需要跳跃勇士,可以使用`{"type": "jumpHero"}`。 如果我们需要跳跃勇士,可以使用`{"type": "jumpHero"}`。
@ -1077,7 +1083,7 @@ keep为一个可选项同上代表该跳跃完毕后是否不消失。如果
``` js ``` js
"x,y": [ // 实际执行的事件列表 "x,y": [ // 实际执行的事件列表
{"type": "jump", "loc": [3,6], "time": 750}, {"type": "jump", "loc": [3,6], "time": 750, "async": true},
] ]
``` ```
@ -1085,6 +1091,8 @@ loc为目标坐标可以忽略表示原地跳跃请注意是原地跳跃
time选项为该跳跃所需要用到的时间。 time选项为该跳跃所需要用到的时间。
async可选如果为true则会异步执行即不等待当前事件执行完毕立刻执行下一个事件
### playBgm播放背景音乐 ### playBgm播放背景音乐
使用playBgm可以播放一个背景音乐。 使用playBgm可以播放一个背景音乐。

View File

@ -469,8 +469,8 @@ ui.prototype.drawTextBox = function(content, showAll) {
var left=7, right=416-left, width = right-left; var left=7, right=416-left, width = right-left;
var content_left = left + 25; var content_left = left + 25;
if (id=='hero' || core.isset(icon)) content_left=left+63; if (id=='hero' || core.isset(icon)) content_left = left + 62; // 行走图15+32+15
else if (core.isset(image)) content_left = left + 90; else if (core.isset(image)) content_left = left + 90; // 大头像10+70+10
var validWidth = right-content_left - 12; var validWidth = right-content_left - 12;
var font = textfont + 'px Verdana'; var font = textfont + 'px Verdana';