Menu
CoddyTech

Дельта

Часть раздела Узлы и сцены путешествия по 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 пикселей в секунду на любом компьютере.

challenge icon

Задание

Легко

Сделай так, чтобы робот двигался с одинаковой скоростью на любом компьютере.

  1. В _process() измени position.x += 2, чтобы робот перемещался на 100 пикселей в секунду.
  2. Умножь 100 на delta.

Нажми «Играть»: робот плавно движется вправо на 100 пикселей в секунду. Затем нажми «Проверить».

Попробуйте сами

extends Node2D

func _process(delta):
	position.x += 2

Все уроки раздела Узлы и сцены

Потренируйтесь самостоятельно: Песочница Godot