Menu
CoddyTech

Переменные узла

Часть раздела Узлы и сцены путешествия по Godot на Coddy. Урок 13 из 28.

Переменная, созданная в начале скрипта, вне какой-либо функции, принадлежит узлу. Она сохраняет своё значение от кадра к кадру, и любая функция скрипта может её использовать:

extends Node2D

var speed = 150

func _process(delta):
	position.x += speed * delta

Поскольку она сохраняет своё значение, переменная узла может меняться со временем. Увеличивай значение speed на каждом кадре, и узел будет двигаться всё быстрее и быстрее:

func _process(delta):
	speed += 50 * delta

var, созданная внутри функции, создаётся заново при каждом вызове и забывается в конце.

challenge icon

Задание

Легко

Сделай так, чтобы робот сначала стоял на месте, а затем ускорялся.

  1. В _process() добавь новую строку speed += 200 * delta. Она увеличивает значение speed на каждом кадре, а не положение. Оставь var speed = 0 вверху без изменений.
  2. Перемещай робота с помощью speed: замени position.x += 100 * delta на position.x += speed * delta.

Нажми «Играть»: робот медленно тронется, а затем будет разгоняться всё быстрее и быстрее. Затем нажми «Проверить».

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

extends Node2D

var speed = 0

func _process(delta):
	position.x += 100 * delta

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

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