Menu
CoddyTech

Однократный запуск

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

Таймер запускается заново каждый раз, когда срабатывает. Это подходит для мигающего света, но бомба должна взрываться только один раз.

Установи one_shot в значение true, и таймер сработает один раз, а затем остановится:

$Timer.one_shot = true

Повторный вызов start() запустит его ещё на один цикл.

В этом замке нажатие E открывает ворота и запускает таймер на две секунды. Когда таймер срабатывает, он закрывает ворота.

challenge icon

Задание

Легко

Сделай так, чтобы ворота закрывались только один раз.

  1. В _ready() установи для $Timer.one_shot значение true.
  2. Оставь остальное без изменений, чтобы клавиша E по-прежнему открывала ворота.

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

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

extends Node2D

func _ready():
	$Timer.wait_time = 2
	$Timer.timeout.connect(_on_timer_timeout)

func _process(delta):
	if Input.is_action_just_pressed("action"):
		$Gate.position.y = 20
		$Timer.start()

func _on_timer_timeout():
	$Gate.position.y += 140

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

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