请选择 进入手机版 | 继续访问电脑版

GA地精研究院

 找回密码
 立即注册
查看: 134|回复: 20

[疑问] 关于计时器周期性的问题,求教一下

[复制链接]
发表于 2019-1-25 20:06:54 来自GA卫星 | 显示全部楼层 |阅读模式
有3个触发器a,b,c,地图初始化的时候停用触发器c,触发器a是在现实时间5秒后创建一个枪兵,b是现实时间10秒后创建一个枪兵然后启用触发器c,触发器c是现实时间每6秒创建一个枪兵,但是测试的时候10秒钟的时候创建了一个枪兵,按道理触发器c被启用了,在16秒的时候创建枪兵,但是在12秒的时候创建了一个,然后就是每6秒创建一个,有点搞不懂10秒后应该在16秒的时候创建,为什么会提前创建
发表于 2019-1-25 20:42:36 来自GA卫星 | 显示全部楼层
你为什么不用游戏时间而要用现实时间?
游戏时间才是从地图初始化完毕开始计时的

点评

因为游戏时间算不准,现实时间知道是几秒,而且和游戏里的显示时间是一致的,大佬,有什么办法能让周期事件是从开始触发器的那一刻开始算么,我看了一下好像即使关闭了触发器,周期性的现实时间还是在从游戏刚运行的  详情 回复 发表于 2019-1-25 21:07
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-25 21:07:49 来自GA卫星 | 显示全部楼层
超级007x 发表于 2019-1-25 20:42
你为什么不用游戏时间而要用现实时间?
游戏时间才是从地图初始化完毕开始计时的

因为游戏时间算不准,现实时间知道是几秒,而且和游戏里的显示时间是一致的,大佬,有什么办法能让周期事件是从开始触发器的那一刻开始算么,我看了一下好像即使关闭了触发器,周期性的现实时间还是在从游戏刚运行的时候算起,不是从开始触发器的时候算起

点评

小地图上的时间就是游戏时间,并且我建议你全部用游戏时间 游戏速度会影响游戏时间变化快慢,而现实时间不会,并且暂停对齐无影响。如果是周期刷兵就应该用游戏时间,不然玩家调整游戏速度或者暂停游戏就会对刷兵间  详情 回复 发表于 2019-1-25 21:28
回复 支持 反对

使用道具 举报

发表于 2019-1-25 21:28:42 来自GA卫星 | 显示全部楼层
lettle 发表于 2019-1-25 21:07
因为游戏时间算不准,现实时间知道是几秒,而且和游戏里的显示时间是一致的,大佬,有什么办法能让周期事 ...

小地图上的时间就是游戏时间,并且我建议你全部用游戏时间
游戏速度会影响游戏时间变化快慢,而现实时间不会,并且暂停对齐无影响。如果是周期刷兵就应该用游戏时间,不然玩家调整游戏速度或者暂停游戏就会对刷兵间隔产生影响

点评

大佬,换成游戏时间还是不对啊,周期性时间还是从地图初始化的时候开始计算的,在10秒的时候会创建2个,地图我上传了,能帮我看一下吗大佬  详情 回复 发表于 2019-1-25 21:43
好的,谢谢大佬  详情 回复 发表于 2019-1-25 21:33
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-25 21:33:50 来自GA卫星 | 显示全部楼层
超级007x 发表于 2019-1-25 21:28
小地图上的时间就是游戏时间,并且我建议你全部用游戏时间
游戏速度会影响游戏时间变化快慢,而现实时间 ...

好的,谢谢大佬
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-25 21:43:25 | 显示全部楼层
超级007x 发表于 2019-1-25 21:28
小地图上的时间就是游戏时间,并且我建议你全部用游戏时间
游戏速度会影响游戏时间变化快慢,而现实时间 ...

大佬,换成游戏时间还是不对啊,周期性时间还是从地图初始化的时候开始计算的,在10秒的时候会创建2个,地图我上传了,能帮我看一下吗大佬

计时器.SC2Map

26.02 KB, 下载次数: 1

点评

哪里不对了,c初始关闭,10 秒时b启动后创建1个兵并开启c,开始c的同时c立刻就会创建一个兵,所以10秒时会有b和c创建的两个兵  详情 回复 发表于 2019-1-25 21:57
回复 支持 反对

使用道具 举报

发表于 2019-1-25 21:57:20 来自GA卫星 | 显示全部楼层
lettle 发表于 2019-1-25 21:43
大佬,换成游戏时间还是不对啊,周期性时间还是从地图初始化的时候开始计算的,在10秒的时候会创建2个, ...

哪里不对了,c初始关闭,10 秒时b启动后创建1个兵并开启c,开始c的同时c立刻就会创建一个兵,所以10秒时会有b和c创建的两个兵
回复 支持 反对

使用道具 举报

发表于 2019-1-25 22:05:34 来自GA卫星 | 显示全部楼层
你应该在游戏时间16秒的时候启动c
还有我建议你把3个触发器合为一个:
事件:(
游戏时间流逝5秒
游戏时间流逝10秒
游戏时间流逝16秒)
动作:
if(游戏时间为16秒)
then{每隔游戏时间6秒重复:创建一个兵}
else{创建一个兵}

点评

好的,谢谢大佬,看来是我逻辑乱了,原本以为是在10秒开始c,那c的周期就是在10秒开启c的时候计算,就是10秒的时候c的周期从0开始计算的,看来是我对周期理解错了  详情 回复 发表于 2019-1-25 22:21
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-25 22:21:17 来自GA卫星 | 显示全部楼层
超级007x 发表于 2019-1-25 22:05
你应该在游戏时间16秒的时候启动c
还有我建议你把3个触发器合为一个:
事件:(

好的,谢谢大佬,看来是我逻辑乱了,原本以为是在10秒开始c,那c的周期就是在10秒开启c的时候计算,就是10秒的时候c的周期从0开始计算的,看来是我对周期理解错了
回复 支持 反对

使用道具 举报

发表于 2019-1-26 20:38:05 | 显示全部楼层
我也建议于游戏进程有关的计时,尽量使用游戏时间。原因主要有两点:第一使用不同游戏速度时,游戏时间流速也会变化,如果使用现实时间,容易和游戏进程不匹配。第二,只有游戏时间是绝对准确的(有精确度),现实时间则不行,如果极短周期的循环,容易造成误差积累。

点评

大佬,我现在遇到的问题就是怎么设置周期性触发器调为开启时周期性效果是从调为开启的时候算,因为就像我问题的3个触发器,如果c是每3秒创建枪兵,我在13秒开启c,15秒的时候才会创建,如果弄条件,条件里找不到游戏  详情 回复 发表于 2019-1-26 21:07
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-26 21:07:42 来自GA卫星 | 显示全部楼层
yxxiaobin 发表于 2019-1-26 20:38
我也建议于游戏进程有关的计时,尽量使用游戏时间。原因主要有两点:第一使用不同游戏速度时,游戏时间流速 ...

大佬,我现在遇到的问题就是怎么设置周期性触发器调为开启时周期性效果是从调为开启的时候算,因为就像我问题的3个触发器,如果c是每3秒创建枪兵,我在13秒开启c,15秒的时候才会创建,如果弄条件,条件里找不到游戏时间等于多少的条件事件

点评

使用周期性计时器,而不是周期性时间。  发表于 2019-1-26 22:11
回复 支持 反对

使用道具 举报

发表于 2019-4-5 00:16:58 | 显示全部楼层
改过了     你自己看吧    比你那个好   计时器.SC2Map (25.71 KB, 下载次数: 0)
回复 支持 反对

使用道具 举报

发表于 2019-4-5 00:18:32 | 显示全部楼层
时间自己定
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2019-4-19 18:38 , Processed in 0.066970 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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