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で透明にしている場合など、その他の方法で非表示状態にしている場合は確認、分岐できない場合があります。
ディスカッション
コメント一覧
まだ、コメントがありません