Menu
CoddyTech

Скрыть и показать

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

visible имеет значение true, когда узел отображается, и false, когда он скрыт. Скрытый узел также скрывает своих дочерних узлов. hide() и show() делают то же самое, что и изменение этого значения:

$Mouth.visible = false   # или $Mouth.hide()

not превращает true в false и наоборот. Поэтому bulb.visible = not bulb.visible скрывает лампочку, если она отображалась, и показывает её, если она была скрыта.

Чтобы лампочка мигала, запусти таймер. Переменная узла, к которой прибавляется delta, отсчитывает секунды. Когда она достигает заданного времени, переключи состояние и вычти это время из таймера:

timer += delta
if timer >= 1.0:
	timer -= 1.0
	print("tick")

Этот код выводит tick раз в секунду.

challenge icon

Задание

Легко

Заставь лампочку на антенне робота мигать.

  1. В _process() на каждом кадре прибавляй delta к timer.
  2. Когда timer достигнет 0.5, вычти из него 0.5 и переключи bulb.visible.

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

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

extends Node2D

@onready var bulb = $Bulb
var timer = 0.0

func _process(delta):
	pass
quiz iconПроверьте себя

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

Все уроки раздела Узлы и сцены

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