當用戶按下按鈕時,fwdi被設置爲1,從而啓動if語句。對我來說,如果我在每次更新時將fwdi降低0.1並在每次更新時將玩家移動0.1,那麼所有事情都應該在1秒內完成,但運動速度要比1秒快得多。我有一個動畫,也需要1秒鐘,他們不匹配。統一3D定時器似乎運行得太快
編輯
void Update()
{
if (fwdi > 0.0f)
{
fwdi = fwdi - 1.0f * Time.deltaTime;
amountToMove.y = 1.0f * Time.deltaTime;
transform.Translate (amountToMove);
if (fwdi == 0.0f)
{
amountToMove.y = 0.0f;
fwdi = 0.0f;
}
}
}
謝謝,我有時間排序,以便實時計算實時。我將腳本附加到一個非活動對象,一旦我刪除了時間由於某種原因恢復正常。現在幾乎是完美的,但是每當我將播放器移動到如此數量時,它實際上將它移動到接近1.02f,這聽起來不像聽起來那麼明顯。有沒有辦法讓這個站點停止在1?我已經更新了我的所有內容,謝謝你的幫助。我已經嘗試過使用FixedUpdate和fixedDeltaTime,但是這會產生比不使用固定更大的差異。 – SpunkTrumpet
刪除第二條if語句略微改善了結果,但是移動距離仍然比它應該少一點。 – SpunkTrumpet
'if(amountToMove.y> 1.0f)amountToMove.y = 1.0f;' – anothershrubery