Скрыть и показать
Часть раздела Узлы и сцены путешествия по 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 раз в секунду.
Задание
ЛегкоЗаставь лампочку на антенне робота мигать.
- В
_process()на каждом кадре прибавляйdeltaкtimer. - Когда
timerдостигнет0.5, вычти из него0.5и переключиbulb.visible.
Нажми «Играть»: сначала лампочка горит, затем гаснет и загорается каждые полсекунды. Затем нажми «Проверить».
Попробуйте сами
extends Node2D
@onready var bulb = $Bulb
var timer = 0.0
func _process(delta):
pass
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Узлы и сцены
Потренируйтесь самостоятельно: Песочница Godot