###前提・実現したいこと
ゲームクリア後リザルト結果に表示した★(星)を各ステージごとに保存し、
かつ再度挑戦してクリアした際は、前回表示された★は表示されている状態に
したいと思い、
PlayerPrefsを用いて処理を組み立てていたのですが下記のソースから
先にどうすればいいかわからなくなったため質問することにいたしました。
現状ステージクリアでコインはすべて取らなくても
必ず★は1つ表示される状態で
コインを全て(現在3つ)取ると
【 ★ ★ 】星が2つ表示されます。
###該当のソースコード
public GameObject[] StarImage; public int StageNo,CoinTotal,hosi; ------------------省略-------------------- //ゲームクリア画面 public void GameClear(){ ----省略---- StartCoroutine(Evaluation()); //コインの取得数による結果を表示 //ステージ攻略をセーブ if (PlayerPrefs.GetInt("CLEAR", 0) < StageNo) { PlayerPrefs.SetInt("CLEAR", StageNo);//現在のステージ番号を記憶 } } //コルーチン処理(コインの数に合わせて1.0fごとに☆を表示) IEnumerator Evaluation() { //コインが0から2枚 if ((CoinTotal >= 0) || (CoinTotal < 3)) { yield return new WaitForSeconds(1.0f); StarImage[0].SetActive(true);//左側の☆を表示 hosi = 1; PlayerPrefs.SetInt("SAVESTAR" + StageNo, hosi); } //コインが3枚 if (CoinTotal == 3) { yield return new WaitForSeconds(1.0f); StarImage[1].SetActive(true);//右側の☆を表示 hosi = 2; PlayerPrefs.SetInt("SAVESTAR" + StageNo, hosi); } } ``` ###補足情報(言語/FW/ツール等のバージョンなど) Unity 2018.3.11f1 言語:C# 取得したコインの数が0から2枚の時★1つ 所得したコインが3枚の時★2つ と表示、 PlayerPrefsで保存 Unity側で StarImage>star1,star2と2つ画像を用意している状態です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/12 01:49