Временные шаги в Unity (C#)C#

Место общения программистов C#
Ответить
Anonymous
 Временные шаги в Unity (C#)

Сообщение Anonymous »

Я пишу код C# для своей игры Unity, позволяющий переместить объект влево. В онлайн-учебнике мне сказали, что мне нужно умножить преобразование позиции на deltaTime, чтобы гарантировать, что компьютеры, работающие с разной частотой кадров, по-прежнему перемещают мой объект с одинаковой скоростью, независимо от их частоты кадров, а вместо этого основываясь на времени. .
Вот код:

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

void Update()
{
transform.posititon = transform.position + (Vector3.left * moveSpeed) * Time.deltaTime;
}
Что меня смущает, так это то, как умножение Time.deltaTime гарантирует, что на нас по-прежнему не будет влиять частота кадров? Поскольку мы не делим и не избавляемся каким-либо иным образом от какого-либо параметра частоты кадров, не умножит ли умножение Time.deltaTime просто проблему?
Я следовал онлайн-руководству, и вот что получилось. поручил мне это сделать, но мне хотелось бы знать, почему.

Подробнее здесь: https://stackoverflow.com/questions/785 ... in-unity-c
Ответить

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

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

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

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

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