2016-07-23 15 views
0

私はプレイヤーが多くのプレハブをインスタンス化し、それらを永続させる必要がある場面があります。これを行うにはEditorSceneManager.SaveSceneを使用できますか?またはこれは完全に間違っていますか?実行時に `EditorSceneManager.SaveScene`を使用します。

そうでない場合は、類似したことはありますか?私はインスタンス化されたプレハブをそのシーンに保存する方法が必要です。

答えて

1

これを行うにはEditorSceneManager.SaveSceneを使用できますか?

ない場合は、同様のものがありますか?

ゲームプレイ中にインスタンス化されたオブジェクトを保存する組み込みの機能はありません。 としてこれを実装する必要があります。これを行うコードは大きく、少し複雑になります。

これにはEditor拡張プラグインを作成する必要があります。オブジェクトがインスタンス化されると、そのGameObjectをそのGameObjectに添付されているオブジェクトのタイプ、位置、回転、色、コンポーネントなどの情報と共にListに保存します。ストップが押され

は、バックListをループすることによって、それらのゲームオブジェクトを再インスタンス化するEditorモードとそのListを使用します。

シーンプレイを検出して停止します。

void Start() 
{ 
    EditorApplication.playmodeStateChanged = OnPlayModeEnter; 
} 


void OnPlayModeEnter() 
{ 
    if (EditorApplication.isPlayingOrWillChangePlaymode) 
    { 
     Debug.Log("Playing!"); 
    }else{ 
     Debug.Log("Stopped Playing!"); 
    } 
} 

あなたは残りの部分を行います!

+0

私はXDのおかげでその答えを得るのだろうかと恐れていました!シーンの再生/停止を検出する部分に感謝します –

+1

@MinaMichaelごめんなさい。 Unityは、シーンが実行されている間、将来の保存に取り組んでいます。リリース時期はいつか分かりません。がんばろう! – Programmer

関連する問題