找回密码
 点一下
查看: 1439|回复: 0

关于触发器等待时间的提示

[复制链接]
发表于 2016-9-1 16:45:38 | 显示全部楼层 |阅读模式
以前一直认为,触发器等待时间是精确地,事实上却是是精确的,但是只限定特殊值。
今天我发现一个函数并没有像我想想中的运行,执行时间多了将近一倍。仔细检查,并没有发现编写上有错误。经过仔细排查,发现等待时间并不准确,这种误差在多次循环下积累起来,就显得非常大了。经过反复测试,发现等待时间并不能随意指定,必须是0.0625游戏时间秒的整数倍(以下没有特殊说明,简称为秒都是说游戏时间)。如果指定的时间不是0.0625秒的整数倍的话,会向上取整数倍,比如0.06秒回取为0.0625秒,而0.07秒则取为0.125秒。额外提一下等待0秒,实际相当于等待0.03125秒,但仍会取0.0625的整数倍。也就是说,一个等待0秒和两个等待0秒结果都是等待0.0625秒,三个等待0秒和4个等待0秒结果都是等待0.125秒。
考虑暴雪这样做的目的是为了更好的配合游戏周期,但给我们的脚本制作带来了非常大的麻烦。这样一来使用等待代替计时器的做法就非常局限了,因为好多时候并不能保证等待时间恰好是0.0625的整数倍,尤其是等待时间是变量的时候。更重要的是,无论指定游戏时间还是现实时间都遵守这一规律。如果说对于指定游戏时间还可能使用常数的话,如果要指定现实时间,就更麻烦,因为你还要根据游戏速度去调整等待值。
您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-23 07:22 , Processed in 0.091042 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表