Единство C# - неправильное обновление значения с помощью Time.deltaTimeC#

Место общения программистов C#
Anonymous
Единство C# - неправильное обновление значения с помощью Time.deltaTime

Сообщение Anonymous »

Я новичок в Unity и C# и пытаюсь создать шкалу выносливости, когда игрок бежит.

Код: Выделить всё

public float sprintStaminaCurrent        = 1.0f;
public float sprintStaminaDrainPerSecond = 0.1f;
public float sprintStaminaGainPerSecond  = 0.02f;

//...

void Update()
{
if(sprintStatus == true){
sprintStaminaCurrent -= sprintStaminaDrainPerSecond * Time.deltaTime;
}else{
sprintStaminaCurrent += sprintStaminaGainPerSecond * Time.deltaTime;
}
sprintbar.Value = sprintStaminaCurrent;
}
Этот код работает, но истощение выносливости происходит слишком медленно.
Я ожидал, что потребляется 0,1< /strong> в секунду, я имею в виду 10 секунд, чтобы опустеть.
Он потребляет около 0,01
в секунду.
Я делаю что-то не так с Time.deltaTime?

Подробнее здесь: https://stackoverflow.com/questions/784 ... -deltatime

Вернуться в «C#»