Godotでシーンを変更する場合にはchange_sceneやchange_scene_toを使えば良いのだが、どちらも定義を渡すだけなのでパラメータを渡す方法がない。ではどうやってパラメータを渡せばよいかというのを調べてみたところ、Global的なステートに持たせておけばいいとのことだった。なんとなく泥臭いが雑にぱぱっと作るにはそれくらいが良いのかもしれない。
ということでまずはGlobal.gdというスクリプトを作る。
extends Node
var next_scene_parameters = {
"id": 0
}
そしてそれをプロジェクト設定の自動読み込み設定でグローバルなシングルトンとして設定する。
シーンを移動する。
func go_to_drive_scene():
Global.next_scene_parameters["id"] = _selected_data.id
get_tree().change_scene("res://scenes/Next.tscn")
次のシーンの初期化のところ
var _id = Global.next_scene_parameters["id"]
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント