課題:
多くの Unity 開発者は共通の問題に遭遇しています。それは、シーン間で持続するように設計されたゲーム マネージャー スクリプトが、すべてのシーンに含まれているにもかかわらず、一度しか実行されないということです。
解決策: プリロード シーン
これを解決する鍵は プリロード シーン です。これは、Unity プロジェクトのセットアップにおいて重要ですが見落とされがちな要素です。
プリロード シーンの作成:
DontDestroyOnLoad
スクリプトを「__app」ゲームオブジェクトにアタッチします。ゲーム動作の整理:
すべてのグローバル ゲーム動作 (データベース接続、サウンド マネージャー、スコアキーピングなど) は、プリロード シーン内の「__app」ゲームオブジェクトに排他的に存在する必要があります。 これにより、あらゆるシーンで確実に利用できるようになります。
合理化されたシーンの読み込み:
プロセスを簡素化するには、プリロード シーンがまだアクティブでない場合は自動的にロードするスクリプトを追加することを検討してください。
代替: グローバル変数 (より単純なケース)
あまり複雑でないプロジェクトの場合、グローバル変数を使用すると、より簡単なソリューションが提供されます。 1 行のコードでこれらの変数にアクセスします:
<code class="language-csharp">public static Sound sound = Object.FindObjectOfType<Sound>();</code>
要約:
プリロード シーンを実装し、これらのベスト プラクティスに従うことにより、ゲーム マネージャー スクリプトは 1 回だけ実行され、すべてのシーンにわたって持続し、重要なゲーム機能への一貫したアクセスが提供されます。
以上がUnity ゲーム マネージャー スクリプトが 1 回だけ実行され、シーン間で持続するようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。