经常遇到小伙伴想要每隔多久做什么什么,然后不会在游戏里计时,我来简单给个栗子
1.先算数运算器首尾相连,累加1输出自己,这个值作为一个基础时钟
![](http://tiebapic.baidu.com/forum/w%3D580/sign=d15758e277adcbef01347e0e9cae2e0e/41499f7f9e2f070829cd4b26af24b899a801f268.jpg?tbpicau=2025-02-25-05_dce87d7c98319d1fe3a397a362f99b76)
2.再来个算数运算器,就可以根据上面的时钟进行计时了。
这里我以1秒计时为例,基础时钟模60,当A值为0时就是1秒。
你如果想要10秒的话就基础时钟模600,A为0时就是10秒。
你如果想要30秒的话就基础时钟模1800,A为0时就是30秒。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=c901052b609759ee4a5060c382fa434e/dd4a156eddc451da40306dcdf0fd5266d1163276.jpg?tbpicau=2025-02-25-05_924e0164f1ca307ce09effe54e3e8da1)
接下来说下原理,游戏每秒60帧,所以基础时钟每秒累加60,所有60倍数的数字与基础时钟取模结果为0时就是秒数。
基础时钟最大值为2147483647,超出这个值会内存溢出变为负数,这个值大概需要游戏挂机414天才能达到。
不过其实变为负数也不影响计时,只是会突然产生一个误差。
这个基础时钟可以接入公共信号网络,作为整个基地的基础时钟
end
1.先算数运算器首尾相连,累加1输出自己,这个值作为一个基础时钟
![](http://tiebapic.baidu.com/forum/w%3D580/sign=d15758e277adcbef01347e0e9cae2e0e/41499f7f9e2f070829cd4b26af24b899a801f268.jpg?tbpicau=2025-02-25-05_dce87d7c98319d1fe3a397a362f99b76)
2.再来个算数运算器,就可以根据上面的时钟进行计时了。
这里我以1秒计时为例,基础时钟模60,当A值为0时就是1秒。
你如果想要10秒的话就基础时钟模600,A为0时就是10秒。
你如果想要30秒的话就基础时钟模1800,A为0时就是30秒。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=c901052b609759ee4a5060c382fa434e/dd4a156eddc451da40306dcdf0fd5266d1163276.jpg?tbpicau=2025-02-25-05_924e0164f1ca307ce09effe54e3e8da1)
接下来说下原理,游戏每秒60帧,所以基础时钟每秒累加60,所有60倍数的数字与基础时钟取模结果为0时就是秒数。
基础时钟最大值为2147483647,超出这个值会内存溢出变为负数,这个值大概需要游戏挂机414天才能达到。
不过其实变为负数也不影响计时,只是会突然产生一个误差。
这个基础时钟可以接入公共信号网络,作为整个基地的基础时钟
end