Menu
CoddyTech

Контрольная точка

Часть раздела Сигналы и столкновения путешествия по Godot на Coddy. Урок 20 из 27.

Контрольная точка меняет место, куда шипы отправляют тебя. Поэтому начальная точка становится переменной в верхней части main.gd, к которой может обратиться любая функция:

var start_point = Vector2(80, 280)

func _on_spikes_body_entered(body):
	body.position = start_point

Шипы отправляют тебя туда, что в этот момент хранится в start_point. Измени переменную — и при следующем столкновении тебя отправит туда.

Измени её с помощью start_point = .... Если написать var start_point = ... внутри функции, создаётся новая переменная, которая существует только в этой функции. Переменная вверху остаётся прежней.

challenge icon

Задание

Средне

Сделай флаг контрольной точкой.

  1. В _on_checkpoint_body_entered присвой start_point значение $Checkpoint.position, без var.
  2. Сделай флаг мятного цвета: $Checkpoint.modulate = Color(0.49, 0.95, 0.75).

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

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

extends Node2D

var start_point = Vector2(80, 280)

func _ready():
	$Spikes.body_entered.connect(_on_spikes_body_entered)
	$Checkpoint.body_entered.connect(_on_checkpoint_body_entered)

func _on_spikes_body_entered(body):
	body.position = start_point

func _on_checkpoint_body_entered(body):
	pass

Все уроки раздела Сигналы и столкновения

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