Menu
CoddyTech

Обратный отсчёт

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

Обратный отсчёт превращает путь к флагу в гонку.

Он работает как таймер из предыдущего урока, но отсчитывает время назад. Храни оставшееся время в переменной. Каждый раз, когда односекундный таймер Clock срабатывает, вычитай единицу:

var time_left = 10

func _on_clock_timeout():
	time_left -= 1
	$HUD/Time.text = "Time: %d" % time_left

Также показывай время в _ready(), чтобы игрок видел Time: 10 до того, как пройдёт первая секунда.

challenge icon

Задание

Легко

Добавь обратный отсчёт на десять секунд.

  1. Добавь var time_left = 10 в начало и покажи Time: 10 в $HUD/Time в _ready().
  2. Подключи $Clock.timeout к _on_clock_timeout.
  3. В _on_clock_timeout() уменьши time_left на единицу и покажи его.

Нажми «Играть»: через три секунды на надписи будет показано Time: 7. Затем нажми «Проверить».

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

extends Node2D

func _ready():
	$Goal.body_entered.connect(_on_goal_body_entered)

func _on_goal_body_entered(body):
	if body.is_in_group("player"):
		$HUD/Message.text = "You win!"

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

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