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