[Godot]$(ドルマーク)とget_node関数の違いについて

Godot

GDScriptにおけるノードの取得方法について

GDScriptにてノードを取得する方法として、$(ドルマーク)を使用する方法と、get_node関数を使用する方法の2つがあります。
この2つについて解説します。

$(ドルマーク)とget_node関数は同じ意味

結論から言うと、$(ドルマーク)とget_node関数は同じ意味で、どちらも指定したノードを取得する処理を行うものとなります。(厳密には、$(ドルマーク)はget_node関数の略記)

具体例

ここからは具体例を使って説明します。
例えば、以下のような感じで”SubNode1″にアタッチされたスクリプトを想定してみます。

このスクリプト内で$(ドルマーク)やget_node関数を使ってノードを取得する場合、以下のような感じになります。

# 自身の子ノードを取得する場合
var buttonA1 = $ButtonA
var buttonA2 = get_node("ButtonA")

# パス形式での記載が可能なので、以下のような感じで記載できる
# ※$(ドルマーク)で記述する際に"."が含まれる場合はダブルクォーテーションで囲む

# 自身の親ノードを取得する場合
var mainNode1 = $"../MainNode"
var mainNode2 = get_node("../MainNode")

# 自身と同階層のノードや、離れたノードも取得可能(get_node関数による記載は省略)
var subNode2 = $"../SubNode2"
var buttonB1 = $"../SubNode2/ButtonB"

# "/root"を使用した記述方法
var buttonB2 = $"/root/SubNode2/ButtonB"

# 自身の取得
var subNode1 = $"."

参考

GDScriptの基本 — Godot Engine (stable)の日本語のドキュメント
【Godot】シーンとノードについて – Qiita
GDScriptにおけるドルマーク”$”の意味と使い方 | Godot Engine – BioErrorLog Tech Blog

タイトルとURLをコピーしました