我正在用C#和Unity創建一個節奏遊戲,我一直沒能找到我的一些玩家遇到的問題和他們的硬件之間的直接關係,隨着時間的推移,他們在逐漸從音樂中脫離出來的遊戲方面遇到問題。它通常需要幾分鐘纔會顯而易見,但它肯定會發生,並會破壞遊戲的感覺。保持跟蹤已用時間C#/ Unity
我通過使用double並添加Time.deltaTime(幀之間的時間)來跟蹤已用時間,並且我假設只有非常小的精度錯誤與此相關,這就是導致逐漸desyncs。
有沒有更好的方法來做到這一點更準確?我在想,獲得遊戲開始的時間,然後在每一幀減去當前時間可能會使它更準確?我試着將遊戲時間同步到音頻時間(Bass.NET提供了一種在幾秒鐘內獲得歌曲位置的方法),但儘管這適用於我和其他一些人,但它最終還是會讓其他人擁有像樣的硬件口吃(我的遊戲即使是8-10歲的個人電腦也能正常運行)。
您可以嘗試使用DateTime來代替。 – Everts
在Unity中'Time.deltaTime'是做計時的最準確的方法。如果你可以解釋你如何使用它來代碼併發布你的代碼,也許其他人可以想出更好的方法。 – Programmer
我解釋過我是如何使用它的,我有一個雙倍的增加Time.deltaTime到每一幀。 –