🤖
Godotで型を調べる方法あれこれ
はじめに
GDScriptで今かいている変数の型を調べる方法で少しハマりましたのでまとめます。
Godotにおけるビルトインな型とノードとして扱える型で、方法が違うようです。
なお下記の情報は3.2.3.stable.official
で確認しました。
ビルトインな型の場合
1. 関数の定義元にジャンプ
CTRL + クリック
で関数の定義をみることができます。返り値の型を確認することもできるでしょう。
2. typeof()
# typeof() で TYPE_* のenumの値が取れる
func _ready():
var a = 5
print(typeof(a)) # -> 2
print(typeof(a) == TYPE_INT) # -> True
var b = Vector2(3,3)
print(typeof(b)) # -> 5
print(typeof(b) == TYPE_VECTOR2) # True
ノードの場合
get_class()
extends Node2D
func _ready():
print(get_class()) # -> Node2D
Board = get_node("TileMap") # 子ノードのTileMapを読み込む例
print(Board.get_class()) # TileMap
どちらでも使える方法
is
extends Node2D
var Board
func _ready():
print(345 is int) # -> True
print(self is Node2D) # -> True
print(get_node("TileMap") is TileMap) # -> True
おわりに
もっと良い方法があるよ、というのがあれば教えてくださいね。
Discussion