環境
- Windows10 home
- Godot Engine v3.2.3.stable.mono.official
手順
- 親ノードに以下スクリプトをアタッチ
- 実行
- デバッグダイアログを閉じる
- シーンが保存される
使い道
- 自動生成ダンジョンなどの保存
- インポートした素材などの保存
スクリプト
(例: 子ノードを保存する)
extends Node
func _ready() -> void:
var child = get_child(0)
var path = "res://sample/" + child.name + ".tscn" # 指定ディレクトリが存在しなければエラー
var ps = PackedScene.new()
ps.pack(child)
ResourceSaver.save(path, ps)
(例2: 最下層の子ノードを全て保存する)
extends Node
func _ready() -> void:
for i in range(get_child_count()):
var child = get_child(i)
SaveNode(child)
func SaveNode(child: Node) -> void:
var count = child.get_child_count()
if (count > 0):
for i in range(count):
SaveNode(child.get_child(i))
else:
var path = "res://sample/" + child.name + ".tscn"
var ps = PackedScene.new()
ps.pack(child)
ResourceSaver.save(path, ps)
参考