Godot Engine エアホッケー 8 「プロジェクトを越えるシーンの移植はコピペでOK」
エアホッケーの6・7で作った「スタート画面」を、GDScriptの11・12で作った「シーンA」にハメよう。もちろん、もう一度スタート画面をラベルノードやらボタンノードやらを並べて作るのはめんどくさい。ここはコピペで対応だ。エクスプローラーで該当のプロジェクトフォルダを開き、必要なファイルを直接コピペ。これで、Godot は問題なく認識してくれる。必要なファイルは4つ。
― ― ― なお、ファイルが足りないと怒られるので注意。
上手くいったら、持ってきた「スタート画面」のルートに付いてるスクリプト “Label.gd”(エアホッケーの7用)を “sn_A.gd”(GDScriptの12用)に貼り変えよう。シーンパネルから張り替えようとするとバグる可能性があるので、今のところはインスペクターパネルからのやった方が安全だ。
スクリプトの張り替えが終わったら、"Label.gd" と “sn_A.tscn” はもういらない。ファイルシステムパネル上で、右クリメニューのデリートを選んで消してしまおう。キーボードのデリートキーで消そうとすると、シーンパネルで選択されている何らかのノードがデリートの対象となるので注意。右クリメニューからやること。
また、ファイルシステムパネル上で消すとファイルの復活(アンドゥー)が出来ないので慎重に。
それから、消去の際メインパネルで “sn_A.tscn” が開かれている、又はタブに “sn_A.tscn” があると “[unsaved](*)” となって、「どうしますか?」って聞いてくる場合があるかもしれない。ここはセーブとかしないで [Don’t Save] で削除してしまうこと。
最後に “Label.tscn” を “sn_A.tscn” にリネームすれば(ファイルシステムパネルの右クリメニュー > [Rename or Move..])、これで完了。
試しに、[ゲーム再生] ボタンから動作を確認。「シーンA」の代わりに、ちゃんと「スタート画面」が出て、ボタンを押せば、「シーンB」に切り替わるはずだ。
コピペで事が済んでしまうとは、なんとも簡単な。
本当に、意外と簡単に他のプロジェクトからシーンを運んでくることが出来たと思う。これも、Godot が、".tscn" ファイルにノードの情報をバッチリ入れてくれているためと思われる。なかなかやるな Godot。
次回は、「シーンB」の方を「ゲーム画面」に改造していこうと思う。