2020-06-12に投稿

Godotでシーンを変える時にパラメータを渡す

Godotでシーンを変更する場合にはchange_sceneやchange_scene_toを使えば良いのだが、どちらも定義を渡すだけなのでパラメータを渡す方法がない。ではどうやってパラメータを渡せばよいかというのを調べてみたところ、Global的なステートに持たせておけばいいとのことだった。なんとなく泥臭いが雑にぱぱっと作るにはそれくらいが良いのかもしれない。

ということでまずはGlobal.gdというスクリプトを作る。

extends Node

var next_scene_parameters = {
    "id": 0
}

そしてそれをプロジェクト設定の自動読み込み設定でグローバルなシングルトンとして設定する。

image.png

シーンを移動する。

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開発者

Crieitの開発者です。 Webエンジニアです(在宅)。大体10年ちょい。 記事でわかりにくいところがあればDMで質問していただくか、案件発注してください。 業務依頼、同業種の方からのコンタクトなどお気軽にご連絡ください。 業務経験有:PHP, MySQL, Laravel, React, Flutter, Vue.js, Node, RoR 趣味:Elixir, Phoenix, Nuxt, Express, GCP, AWS等色々 PHPフレームワークちいたんの作者

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント