玄天 发表于 2016-9-2 01:28 谢谢你,中午回去试 |
本帖最后由 玄天 于 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就行了。 |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-12-26 00:36
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.