Поиск оставшегося времени при увеличении значения с плавающей точкой со временем [Unity] - PullRequest
1 голос
/ 23 октября 2019

У меня есть игра, в которой растение растет с 0% до 100% за определенный промежуток времени (20 с в этом примере), основной код для его выполнения на месте, но я хотел бы узнать, как многоостается время, пока оно не достигнет 100% для его отображения.


public float g;
public float growthstage;
public float timeToGrow = 20; //seconds
public float timeRemaining; //to 100%


void updateGrowth(){
  g += Time.deltaTime / timeToGrow;
  growthstage = Mathf.Lerp(0, 100, g); //from 0% to 100%

  timeRemaining = ???
}

1 Ответ

1 голос
/ 23 октября 2019

Я бы предпочел только разделить на timeToGrow в Lerp, а затем просто вычесть g из timeToGrow:

g += Time.deltaTime;
growthstage = Mathf.Lerp(0, 100, g/timeToGrow); //from 0% to 100%

timeRemaining = timeToGrow - g;

Но, если вам нужно, чтобы g было значениемэто так, тогда вы могли бы умножить его на timeToGrow, прежде чем вычесть его из timeToGrow. Субъективно, мне просто немного труднее читать:

g += Time.deltaTime/timeToGrow;
growthstage = Mathf.Lerp(0, 100, g); //from 0% to 100%

timeRemaining = timeToGrow - g * timeToGrow;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...