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