Menu
CoddyTech

隐藏与显示

本课属于 Coddy Godot 学习旅程的“节点与场景”单元。第 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 在线编辑器