Menu
CoddyTech

Ожидание таймера

Часть раздела Правила игры путешествия по 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 — это сигнал.

challenge icon

Задание

Легко

Откройте ворота через две секунды после начала игры.

  1. В _ready() найдите строку, которая перемещает $Gate.
  2. Перед ней выполните await для ожидания timeout таймера на 2.0 секунды, созданного с помощью get_tree().create_timer().

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

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

extends Node2D

func _ready():
	$Gate.position.y -= 140
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Правила игры

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