Unity3d Time.deltaTime 和帧率问题

Unity3d Time.deltaTime and framerate issue

我正在创建一个游戏,玩家可以在其中将某些任务分配给 npc,并且由于任务的复杂性,它会花费那么多时间(复杂任务 5 分钟,简单任务 1 分钟)。为此,我用 Time.deltatime.

创建了一个计时器
Starttime = Starttime + Time.Deltatime;

但是根据 unity docs deltatime 是两帧之间的差异所以现在在 PC 游戏上是 运行 在 60 帧上所以它需要 60 帧来完成一分钟但是在手机上它需要比需要更长的时间,所以请谁能告诉我如何解决这个问题

永远不要出于任何原因使用 Time.deltaTime 或任何类似功能。

对于 Unity 初学者,对于所有计时器和与时间有关的所有问题,只需使用 Invoke

您的代码将如下所示...

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;
 }