統一シーン間の効率的なデータ送信方法
シーンをUnityで切り替える場合、データは多くの場合、シーン間でデータを渡す必要があります。これを達成するには多くの方法があり、特定の方法は渡されるデータ型に依存します。
静的変数
データが基本的なデータ型(int、bool、stringなど)である場合、それはmonobehaviourから継承されず、gamebjectではない場合、静的変数としてマークすることができます。静的変数は、シーンを切り替えるときに値を保持します。
PlayerPrefsはUnityのAPIであり、少量のデータがキー値のペアなどの少量のデータを保存できるようにします。スコアや設定などの基本的なデータを保存するために使用できます。
ファイルioシリアル化
大量のデータまたは複雑なオブジェクトの場合、JSONやバイナリなどのシリアル化されたファイル形式を使用できます。ゲームデータを表すカスタムクラスを作成し、C#ファイルAPI(file.writeallbytesやfile.readallbytesなど)を使用してファイルにシリアル化できます。ケース:スコアを転送
サンプルコードでは、playerprefs.setintおよびplayerprefs.getintを使用して、スコア値を次のシーンに渡します。ただし、スコアが保存された後、シーンの切り替えはないため、ロードされたシーンは更新された値にアクセスできません。コードは次のように変更する必要があります
シーン1:シーン2:
この変更により、プレイヤープリーフの使用が現在のスコアを保存し、新しいシナリオは保存されたスコアを使用して初期化を行い、その後プレイヤープリーフをリセットします。
以上がUnityのシーン間でデータを効果的に渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。