计时器用法
星火编辑器支持使用计时器来实现等待逻辑和每隔一段时间重复执行的操作。
计时器的类型
等待
等待计时器有两种形式:『等待一段时间』和『等待一段时间后执行动作』,它们的效果和作用不完全一致。
『等待一段时间』 语句会阻塞后续的语句,也就是说,过了等待时间后才会执行后续逻辑。
输出结果为:
1
(过1秒后)
2
3
『等待一段时间后执行动作』 则不会阻塞后续语句,因为该语句是异步的。
输出结果为:
1
3
(过1秒后)
2
特别说明:等待0秒并非完全不等待,而是等待一帧,下一帧执行后续或回调函数内的逻辑。
每隔一段时间执行
顾名思义, 执行该语句后,每隔一段时间将会执行回调函数内的逻辑。该语句也不会阻塞,是异步逻辑。
这类定时器有两种语句:『每隔一段时间后执行动作』和『每隔一段时间后执行动作(限定次数)』。前者是无限循环的定时器,只要游戏还在运行,每隔一段时间一定会执行内部的函数;而后者会限定次数。
下面是一个计数器的案例:
输出结果为:(以下均为每隔1秒的输出)
1
2
3
4
5
操作计时器
计时器创建后,可以使用赋值语句赋值给一个变量,用面向对象的方法控制这个计时器的生命周期。
计时器面向对象的方法
此外,计时器之间也可以互相搭配使用,为游戏实现一些更有趣的逻辑,比如下方的例子:
计时器与协程的关系
在星火编辑器中,每一个触发器都是一个