Дельта
Часть раздела Узлы и сцены путешествия по Godot на Coddy. Урок 8 из 28.
Не каждый компьютер отображает 60 кадров в секунду. Быстрый экран отображает 144 кадра, а загруженный телефон может отображать 30. Робот, который перемещается на 2 пикселя за кадр, будет быстрым на одном устройстве и медленным на другом.
Godot передаёт delta в _process(delta) на каждом кадре. Это количество секунд с момента предыдущего кадра: около 0.0167 при 60 кадрах в секунду, около 0.033 при 30.
Умножай перемещение на delta, чтобы задать перемещение в секунду:
func _process(delta):
position.y += 60 * deltaТак узел будет перемещаться на 60 пикселей в секунду на любом компьютере.
Задание
ЛегкоСделай так, чтобы робот двигался с одинаковой скоростью на любом компьютере.
- В
_process()измениposition.x += 2, чтобы робот перемещался на100пикселей в секунду. - Умножь
100наdelta.
Нажми «Играть»: робот плавно движется вправо на 100 пикселей в секунду. Затем нажми «Проверить».
Попробуйте сами
extends Node2D
func _process(delta):
position.x += 2
Все уроки раздела Узлы и сцены
Потренируйтесь самостоятельно: Песочница Godot