游戏中计时器有很多的用途.例如制作定时的游戏对话,倒计时,冷却时间,根据时间计分等等.下面是一个简单计时器的逻辑.
首先添加全局变量,数字类型,名为时间,初始值为0.
添加文本对象,调整好字号大小等属性
然后写事件,条件是系统的每帧执行
动作是系统的加法运算,让变量时间+dt
继续加动作,文本的设置文本
继续加动作,文本的添加文本
每一帧都将Dt添加到全局变量时间(Dt是获取上一帧到这一帧的时间,详细介绍可查看Dt和帧率独立游戏),所以每一帧添加Dt就是统计游戏开始到现在的总时间.1秒后全局变量时间等于1.
将秒转换成小时,分钟,秒数
如事件表所示,可以将统计的秒数转换成小时,分钟,秒数
小时=floor(时间/3600)
分钟=floor(时间/60%60)
秒数= floor(时间%60)
制作倒计时,首先先建立一个全局变量倒计时。设置初始值为需要倒计时的时间.
设置事件当全局变量倒计时>0时,全局变量减去Dt(为了保证全局变量倒计时不会小于0,使用Max函数).事件表如下图所示.
当全局变量倒计时等于0时,可以设置游戏开始跳转到游戏界面或游戏开始.在这边最好配合”仅触发一次”使用,当倒计时等于0时仅触发一次.
制作计时游戏也是使用类似上面事件表制作,设置不同的计时事件即可.
在唤境Evkworld中可以使用系统条件”每隔X秒”设置每隔X秒运行一次事件,可以让指定的所有对象每隔X秒执行动作.
但我们制作某种特定游戏时,如塔防游戏我们希望每个炮塔都有自己独立的计时时间,在每次计时结束后发射子弹,这时候可以使用实例变量来实现这个效果.事件表实例变量设置如下面所示.添加精灵对象炮塔,在炮塔添加两个实例变量:计时(初始值为0),冷却时间(初始值为0).在舞台添加两个炮塔,分别选中炮塔设置实例变量冷却时间1和2.
通过以上设置,即可完成每个实例拥有自己的计时器,实现实例拥有不同的冷却时间.
计时持续时间
在上面第一个简单计时器介绍了其中一种计时的方式,下面将介绍另外一种方法用来计算持续时间.事件表全局变量如下图所示.