赞 | 5 |
VIP | 0 |
好人卡 | 8 |
积分 | 3 |
经验 | 43263 |
最后登录 | 2018-9-19 |
在线时间 | 204 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 311
- 在线时间
- 204 小时
- 注册时间
- 2007-2-4
- 帖子
- 1817
|
本帖最后由 玄天 于 2016-9-2 09:19 编辑
设定定时器为你要的时间。同时设定一个开关。
建立一个『并行处理』的事件,触发条件为上述的开关ON。内容如下:
◆代入步数到变量A
◆条件分歧:计数器 = 0
开关OFF(关闭事件)
◆否则:
◆条件分歧:若变量A = (你规定的数值)
(执行内容)
(最后设置上述开关为OFF)
『并行处理』的意思就是他会不断重复事件内容,但是期间玩家可以自由活动。这样就相当于一个无形的判断机制在不断获取当前的数值,一旦符合条件就执行。最后记得把开关关掉来让『并行处理』结束,这样一来不会出现重复取值的问题,而来也能释放后台的处理资源(尽管通常而言都很少)
——————————————————
进阶但相对复杂的做法。
计时器是个好东西,但是在不动插件的情况下,通常你只能用一个计时器。如果在已经用了计时器的情况下要实现这个功能就很没辙了,所以还有另外一种思路来实现。
简单来说,就是利用『并行处理』不断刷新的原理来确定时间。
首先同样是『并行处理』事件,同样设定一个让这个事件启动的开关。
然后事件内容如下:
◆等待:60帧
◆代入步数到变量A
◆变量B + 1
◆条件分歧:变量B < 10
◆条件分歧:若变量A = (你规定的数值)
(执行内容)
◆否则:
开关OFF
由于『并行处理』的重复执行速度在没有需要等待的情况下是非常快的,大概就是1帧1次(是不是这个数值我不知道,目测大概是这样),所以让他等待60帧(也就是1秒)执行一次内容,这样这个变量B就等于了计时器(标量)的作用。
标红的地方表示当变量B还不满你的最大值时可以进行步数检测,一旦超过设定值就自动关闭整个事件,相当于计时器结束。
值得注意的是这里的条件分歧记得要用<10,因为条件分歧里还有个相似的<=(小于等于),在这个情况下要是用了<=那就要刷11次才会触发停止,因为『小于等于』的意思就是包含10本身,要多算一次。光<的话则表示10以下但不包括10本身,也就是说一到达10就触发。
实际上你反过来用『变量B - 1,条件分歧:变量B = 0』来作为判断也是可以的,但是必须要在整个计算开始的时候给变量取值,可能比较麻烦,一旦不小心忘记就会失效。因为默认变量是0,在不取值的情况下只会变成负数。
最后你要用的时候只要把开关ON就行了。 |
|