【Godot Engine】GDScriptメモ③:コメント・コード領域とアノテーション

GodotEngine

コード記述の補助機能

コメント

GDScriptでコメントは 「#」で一行「”’」区切りで複数行の記述が可能です。

# これは一行分のコメントです。

'''
これは複数行文のコメントです
'''

行の継続

GDScript のコード行を継続する際は、行の末尾にバックスラッシュ(\) を記述します。

var test = "ABC" + \
	"DEF" + \
	"G"

コード領域

#region , #endregion でコードを囲むことで、コード領域の定義ができます。
コード領域を設定することで、コードの折り畳みができるようになり、長いコードの管理に役立ちます

#region <コード領域の説明文>
func test01():
	pass

func test02():
	pass
#endregion

アノテーション(注釈)

GDScriptでは、「@」から始まるアノテーション(注釈)によって、コードの処理や動作に関する追加情報を定義できます。注釈にはさまざまな種類がありますが、以下に主要なものをまとめます。

@export:値をエディタへエクスポートする

@export は、GDScript内の値(クラスメンバ)をGodotエディタにエクスポートするための注釈です。
エクスポートされた値はインスペクターに表示され、エディタ側から編集が可能になります。

# 新規変数x,yをエクスポート
@export var x = 10
@export var y = 10

※上記の例の場合、初期化した値「10」は各プロパティの“初期値”となり、エディタで編集をした場合はそちらの値が優先され、画像(→)のような更新マークが表示されます。

@onready : Node._ready の直前にロードする

@onready アノテーションは、指定したノードやリソースのロードを、ロード対象が使用可能になるのを待ってから実行するための設定を行います。
→これによって、初期化等が未完了のノード等をロードしてしまうことを防ぎ、安全な処理が可能です

@onready var label = $Label

シーン内のノードをロードする場合、上記の記述はシーンツリーからCtrl+ドラッグでショートカット入力も可能です。

@onready でのロード対象が使用可能になるとは、=Node._ready の直前のタイミング です。
_ready() は、ノードとその子の両方がシーンツリーに入ったときに呼び出される関数のため、結果的に「=準備完了状態」として認識できます。

※通常のロードタイミングはノードの初期化 ( Object._init ) 時

@static_unload : 参照がなくなったときにアンロード

Godotではスクリプト内に静的変数がある場合、他の参照が残っていない場合でも自動でアンロード(メモリ解放)がされなくなってしまいます。(GDScriptクラスはリソースのため、保持される)
そのため、@static_unloadを使用して、すべての参照が失われた後に持続しないように設定します。(スクリプトがロードし直されると、静的変数はデフォルト値に戻ることに注意)

@static_unload		#スクリプトのアンロード設定。(スクリプト先頭行に記述)
class_name <クラス名>

参考情報

この記事は、以下公式ドキュメント「GDScript」の内容を一部抜粋してまとめたものになります。
より詳細な内容は以下をご参照ください。

GDScript
GDScript reference, GDScript: An introduction to dynamic languages, GDScript exported properties, GDScript documentation comments, GDScript style guide, Static ...
おすすめの本①
おすすめの本➁
GodotEngine
ひらまめ(hiramame)をフォローする
ひらまめゲーム制作研究室

コメント

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