前提・実現したいこと
ステージをクリアしていく事に数値を合計したい。
体力が3あり、クリアした時の体力がスコアになる様にしています。
発生している問題・エラーメッセージ
1ステージの最大スコアを3にしたいのですが、前回にスコアを2出したとして
再度挑戦してスコアを3取った場合、3ではなく前回のスコアも足してしまって5になってしまう。
試したこと
スコアと体力を比較して再度チャレンジした時に何回もスコアを合計しない様にしたのですが上手くいきませんでした。
前回のscoreと今回のhiScoreを比較してその差を比べれば良いと思うのですが、その書き方が思い着きません。
比較する為にはES3というセーブ機能のアセットを使っています。(Player Prefsと似た様な機能だと思います)
お時間がある方で、お力をお貸しして頂けたらと思い投稿しました。
よろしくお願いします。
コード
C#
1public class StageMain : MonoBehaviour 2{ 3 4 public int score;//今回のスコア 5 public int hiScore;//前回のスコア 6 public int LifeInt = 3;//体力 7 public int totalScore;/スコアの合計 8 9 10 11 public void Save() 12 { 13 14 //スコアに点数を入れる 15 score = LifeInt; 16 //前回のスコアがある場合は呼び出す(無い場合は0) 17 hiScore = ES3.Load(hiScore, 0); 18 19 //もし前回のスコアより今回のスコアが良い場合 20 if (score > hiScore) 21 { 22 //ハイスコア更新 23 hiScore = score; 24 //ハイスコアをセーブ 25 ES3.Save("hiScore", hiScore); 26 //スコアを合計する 27 totalScore += hiScore; 28 //合計スコアをセーブ 29 ES3.Save("TopStar", totalScore); 30 31 } 32} 33} 34 35 36 37
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/11 11:38
2021/06/11 12:12
2021/06/11 14:25
2021/06/11 22:40
2021/06/12 01:46 編集