Единство 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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