看板 C_Sharp 關於我們 聯絡資訊
小弟最近在用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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.229.140.223 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1567258823.A.804.html
anterior: 1.3後面沒 f 08/31 23:06
anterior: 然後unity 內建的計時會有點偏差 若真要做音樂遊戲建議 08/31 23:07
anterior: 自己刻一套 08/31 23:07
anterior: 不然一首曲差不多 兩分鐘開始慢半拍 三分鐘整個對不上 08/31 23:08
plps0309: 請問自己刻一套是什麼意思ㄚ? 09/01 01:19
plps0309: 是指把拍點的時間記下來自己打上去嗎? 09/01 01:20
laikyo: 用fixed update() 09/01 14:15
Litfal: 1.用Update()同樓上 2.從歌曲開始計時 3.拍點紀錄在歌曲內 09/01 14:51
Litfal: 的絕對時間 4. 檢查用範圍檢查, 不要用相等檢查 09/01 14:51
plps0309: 謝謝各位的經驗分享!目前有人推薦我用AudioSettings.ds 09/02 16:03
plps0309: pTime的方式來同步音樂播放時間 09/02 16:03
plps0309: 還是搞不懂的話我再試著用Fixed update的方式(雖然感 09/02 16:04
plps0309: 覺這個對起拍子會是個非常麻煩的工程) 09/02 16:04