[问题] 关于Unity计时

楼主: plps0309 (耶律阿宝机)   2019-08-31 21:40:21
小弟最近在用unity写音乐游戏
想要让按钮在自订的时间出现却一直失败
由于要配合音乐节奏所以时间想用float这单位好让它能对到节奏
而小弟是用InvokeRepeating这个函式来让它每0.1秒就重复呼叫判别式
但当我在写if(time==1.3)之类的判别式却判断不出来
将时间print出来后会发现到后面时间会开始偏差不再是每0.1秒整呼叫一次
不知道可不可以给小弟一点建议...
P.S.之所以不在Update函式写是因为我记得它是每一帧循环一次 因此也不能够准确在每0
.1秒循环一次
https://i.imgur.com/bgxUUel.jpg
https://i.imgur.com/zWS92iY.jpg
作者: anterior (Anterior)   2019-08-31 23:06:00
1.3后面没 f然后unity 内建的计时会有点偏差 若真要做音乐游戏建议自己刻一套不然一首曲差不多 两分钟开始慢半拍 三分钟整个对不上
楼主: plps0309 (耶律阿宝机)   2019-09-01 01:19:00
请问自己刻一套是什么意思ㄚ?是指把拍点的时间记下来自己打上去吗?
作者: laikyo (六元)   2019-09-01 14:15:00
用fixed update()
作者: Litfal (Litfal)   2019-09-01 14:51:00
1.用Update()同楼上 2.从歌曲开始计时 3.拍点纪录在歌曲内的绝对时间 4. 检查用范围检查, 不要用相等检查
楼主: plps0309 (耶律阿宝机)   2019-09-02 16:03:00
谢谢各位的经验分享!目前有人推荐我用AudioSettings.dspTime的方式来同步音乐播放时间还是搞不懂的话我再试着用Fixed update的方式(虽然感觉这个对起拍子会是个非常麻烦的工程)

Links booklink

Contact Us: admin [ a t ] ucptt.com