🤖

Godotで型を調べる方法あれこれ

2020/12/14に公開

はじめに

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