Ожидание таймера
Часть раздела Правила игры путешествия по Godot на Coddy. Урок 5 из 29.
Чтобы подождать один раз внутри функции, узел Timer не нужен. get_tree().create_timer(2.0) создаёт одноразовый таймер в уже запущенном коде. await приостанавливает функцию, пока не поступит сигнал timeout:
func _ready():
print("Wait for it")
await get_tree().create_timer(2.0).timeout
print("Now!")Первая строка выводится сразу. Функция останавливается на await, пока игра продолжает работать. Через две секунды выполнение функции продолжается.
Оставьте .timeout в конце. await ожидает сигнал, а timeout — это сигнал.
Задание
ЛегкоВорота открываются сразу после начала игры. Сделай так, чтобы они открывались через две секунды. Дождись окончания двухсекундного таймера перед строкой, которая их открывает.
Попробуйте сами
extends Node2D
func _ready():
$Gate.position.y -= 140
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Правила игры
Потренируйтесь самостоятельно: Песочница Godot