不要使用Time.deltaTime或任何類似的功能,永遠不會出於任何原因。
對於初學者團結,所有的計時器和與時間有關的所有問題,只需使用調用
您的代碼看起來就像這樣......
void Start()
{
Debug.Log("user begins task .. must complete in 60 seconds");
Invoke("TimeIsUpForUser", 60f);
}
private void TimeIsUpForUser()
{
Debug.Log("time's up! user must be finished by now");
}
就這麼簡單。
舉例來說,你的整個代碼可能是這個樣子..
void Start()
{
ShowMiniPuzzleOnScreen();
Invoke("TimeIsUpForUser", 60f);
}
private void UserHasPlacedFinalPieceOfPuzzle()
{
MessageScreen("Congratulations! You get 100 coins!");
balance += 100;
CancelInvoke("TimeIsUpForUser");
}
private void TimeIsUpForUser()
{
HideMiniPuzzle();
PlaySadMusic();
MessageScreen("You suck! You are too slow. You lose 50 points.");
balance -= 50;
}
修復呢?你從文檔中複製/粘貼一些東西,陳述一個要求,但沒有提出問題,似乎認爲我們爲你編寫程序? – TomTom
任務時間應該發生什麼?如果你只需要一個腳本工作,然後保存開始時間,並檢查時間通過... – Adi
我想你錯過了文檔。 'Time.deltaTime'是爲了使你的遊戲幀率無關,所以無論你運行多少幀,它都需要相同的時間。例如。對於60 fps的1分鐘任務,將需要3600幀,在30 fps時需要1800幀,但仍然是1分鐘。 –