Welcome to my site

シーンを配列化する

Godot3.xにはシーンを配列化する機能が見当たらないので、スクリプトで配列化しました。
以下はフルーツパズルで使った実例です。
まず、エディターで、Common.gd(名前はなんでもいいです)を作ります。

extends Node
# ===============================================
# 共通スクリプト.
# ===============================================
# フルーツリソースをプリロードして配列にします
const Fruits = [
 preload("res://scene/fuit0.tscn"),
 preload("res://scene/fuit1.tscn"),
 preload("res://scene/fuit2.tscn"),
 preload("res://scene/fuit3.tscn"),
 preload("res://scene/fuit4.tscn"),
 preload("res://scene/fuit5.tscn"),
 preload("res://scene/fuit6.tscn"),
 preload("res://scene/fuit7.tscn"),
 preload("res://scene/fuit8.tscn"),
 preload("res://scene/fuit9.tscn"),
 preload("res://scene/fuit10.tscn"),
]
#function
func set_fruit(_id:int):
 return Fruit[_id].instance()

これでcommon.gdを自動読み込みにすれば、どのスクリプトからでも

var dropfruit = Common.set_fruit(_Index)
 add_child(dropfruit)

みたいな使い方ができます。