Godot 4 | ノードの表示・非表示を切り替える、表示状態を確認するスクリプト
ゲームエンジン「Godot 4」でhide()メソッド、visibleプロパティでゲームオブジェクトにしているノードを非表示にする手段にと、表示状態の確認、分岐について紹介しています。
確認環境
- Windows11 22H2
 - Godot v4.1.1
 
hide()メソッドでノードを非表示にする
hide()メソッドで自身や親子ノード、別階層にあるノードを非表示にするパターンまとめです。
# 自身を非表示にする
hide()
self.hide()
# 子ノードを非表示にする
var targets = get_children();
for target in targets:
	# print(target.name)
	target.hide()
# 親ノードを非表示にする
var target = get_parent()
# print(target.name)
target.hide()
# パスで指定(親、子以外のノードなども)して非表示にする
var target = get_node("/root/Main/Enemy")
target.hide()
hide()メソッドで非表示にしたノードはshow()メソッドで表示に戻す事ができます。
# 自身のノード
show()
self.show()
# 自身ではないノード
target.show()
visibleプロパティでノードを非表示にする
visibleプロパティでノードを非表示にするには、対象ノードの「visible」プロパティに「false」を指定します。
# 自身を非表示にする
visible = false
self.visible = false
# 子ノードを非表示にする
var targets = get_children();
for target in targets:
	# print(target.name)
	target.visible = false
# 親ノードを非表示にする
var target = get_parent()
# print(target.name)
target.visible = false
# パスで指定(親、子以外のノードなども)して非表示にする
var target = get_node("/root/Main/Enemy")
target.visible = false
# 自身のノード
visible = true
self.visible = true
# 自身ではないノード
target.visible = true
ノードの表示状態を確認する
hide()メソッドも、visibleプロパティでの「false」への値変更も、処理内容は同じで、visibleプロパティの値を「false」にします。
ですので、表示状態の確認や分岐は、いずれもvisibleプロパティの値を取得する事で実装可能です。
# ログを出力
print(self.visible)
♯ 表示、非表示で条件分岐
if self.visible:
	# visibleがtrueのとき
	pass
else:
	# visibleがfalseのとき
	pass
※ 「modulate」APIで透明にしている場合など、その他の方法で非表示状態にしている場合は確認、分岐できない場合があります。