Контрольная точка
Часть раздела Сигналы и столкновения путешествия по 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 = ... внутри функции, создаётся новая переменная, которая существует только в этой функции. Переменная вверху остаётся прежней.
Задание
СреднеСделай флаг контрольной точкой.
- В
_on_checkpoint_body_enteredприсвойstart_pointзначение$Checkpoint.position, безvar. - Сделай флаг мятного цвета:
$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