質問: 2; PlayerPrefs.SetInt("SAVESTAR" + StageNo, hosi); } } ``` ### 補足情報(言語/FW/ツール等のバージョンなど) Unity 2018.3.11f1 言語:C# 取得したコインの数が0から2枚の時★1つ 所得したコインが3枚の時★2つ と表示、 PlayerPrefsで保存 Unity側で StarImage>star1,star2と2つ画像を用意している状態です。
回答: それまでのプレイで獲得した星の数をどこかで取得する必要がありますね。下記のように整理してみましたが、いかがでしょうか? ``` IEnumerator Evaluation() { //まず今回のプレイで獲得した☆の数を求める if ((CoinTotal >= 0) && (CoinTotal < 3)) //ここの条件は「または(||)」ではなく「かつ(&&)」ではないでしょうか? { //コインが0から2枚 hosi = 1; } else { //コインが3枚 hosi = 2; } //以前のプレイで獲得した☆の数を取得する var savedHosi = PlayerPrefs.GetInt("SAVESTAR" + StageNo, 0); //今回の☆とそれ以前の☆のうち大きい方を選ぶ hosi = Mathf.Max(hosi, savedHosi); //☆を表示する for (var i = 0; i < hosi; i++) { yield return new WaitForSeconds(1.0f); StarImage[i].SetActive(true); } //☆の数を保存する PlayerPrefs.SetInt("SAVESTAR" + StageNo, hosi); } ```