#質問概要
PlayerPrefsよりも効率的にデータ保存・読み込みできる方法が知りたい。
##質問背景
2週間ほど前からUnityに触れ始め、参考書などを見ながら簡易的なゲームアプリなどのサンプル作成行っています。
Unity公式チュートリアルのシューティングなどからハイスコアをPlayerPrefsなどに保存する方法を学びました。
PlayerPrefsを使えば、いろいろなデータを保存できて便利だ!とソースコードにひたすら数十行もPlayerPrefs読み込み処理を書いていたのですが
ソースコードがどんどん増えていくにつれて「これは正しいやり方ではない」という雰囲気を感じています。
なにかうまい方法はないものでしょうか?
##例
(例)ステージセレクトの実装をしたいため、ステージ1~10をクリア済みかどうかを判定したい場合
C#
1// ステージクリア済みか判定。0=false 1=true 2// 実際にはbool変換用のメソッドを用意しているので、bool型で使っています 3int clearStage01 = PlayerPrefs.GetInt ("STAGE_01_CLEAR", "0"); 4int clearStage02 = PlayerPrefs.GetInt ("STAGE_02_CLEAR", "0"); 5int clearStage03 = PlayerPrefs.GetInt ("STAGE_03_CLEAR", "0"); 6int clearStage04 = PlayerPrefs.GetInt ("STAGE_04_CLEAR", "0"); 7(以下略) 8 9// ステージ1をクリア済みか 10if(clearStage01){ 11 // クリア済みの処理 12} else { 13 // 未クリアの処理 14} 15 16if(clearStage02){ 17 // クリア済みの処理 18} else { 19 // 未クリアの処理 20} 21(以下略)
現在はこんな書き方をしていて動くは動きます。
しかし、この場合だとステージ10個分をPlayerPrefsでデータを読み込み、そしてそれに対応したif文をつらつら書くのでひたすらソースコードが長くなります。かなり非効率的かつ拡張性や汎用性がまったくないやり方なのでなんとか変えたいです。
お知恵をお借りできないでしょうか。よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/29 02:49
2019/01/29 02:55
2019/01/29 04:25
2019/01/29 04:55