シーン間のデータ引き継ぎ【UUJ】

■質問

あるシーンからデータを次のシーンに渡し、何らかの動作の後また元のシーンに遷移しデータもそのまま渡そうとしました。DontDestroy()を使ったのですが、元のシーンに戻った時に新しく作られたデータの主としてのオブジェクトと被っており、値もその時にリセットされました。
Playerprefを使って直接テキストのセーブ&ロードはできるかもしれませんが、かなり頻繁に行う動作なので毎回わざわざテキスト化したりするのは良くない気がしているのですが良い方法はありませんか?


■回答

シングルトンパターンにしてやれば1つしか出ません。
Unityの場合、


private static ShopController instance;

void Awake()
{
if (instance != null) 
{
Destroy (this.gameObject);
return;
}
instance = this;
}

という風にすれば同クラスのオブジェクトがあった場合は削除されます。


※注釈
この記事も良いです。
http://terasur.blog.fc2.com/blog-entry-800.html

Comments

comments

スポンサーリンク
336*280px