[問題] 關於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