質問編集履歴

1 文法の修正

nyattou55

nyattou55 score 48

2018/07/26 17:33  投稿

ハイスコアを実装したい
[[Unity] ハイスコアの実装 & アプリを終了しても記録を残す方法](https://qiita.com/jordan710k/items/74c4d1eac18f9fd3cdef)
上記のサイトを参考にハイスコアの機能を作成したのですが、ハイスコアではなく、毎回スコアのが表示されてしまいます。
上記のサイトを参考にハイスコアの機能を作成したのですが、ハイスコアではなく、毎回スコアの点数と同じ記録が表示されてしまいます。
[例]7点を取る→3点を取る,この場合3点の方がハイスコアに入ってしまいます。
ご教授願います。
```c#
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class CubeController : MonoBehaviour {
   private Rigidbody2D rb2D;
   public GameObject Score;
   public Text RScoreText;
   public GameObject EndPanel;
   public ScoreScript scorescript;
   public GameObject RButton;
   public Text highScoreText; //ハイスコアを表示するText
   private int highScore; //ハイスコア用変数
   private string key = "HIGH SCORE"; //ハイスコアの保存先キー
   private void Start () {
       RButton.gameObject.SetActive(false);
   }
   void OnCollisionEnter2D (Collision2D collision) {
       EndPanel.gameObject.SetActive(true);
       int Rscore;
       Rscore = scorescript.score;
       RScoreText.text = "Score:" + Rscore.ToString();
       if (Rscore > highScore) {
           highScore = Rscore;
           //ハイスコア更新
           PlayerPrefs.SetInt(key, highScore);
           //ハイスコアを保存
           highScoreText.text = "HighScore:" + highScore.ToString();
           //ハイスコアを表示
       }
       RButton.gameObject.SetActive(true);
   }
   void OnTriggerEnter2D (Collider2D col) {
       //Score(GUIText)のScoreUpメソッドを呼び出す
       Score.SendMessage ("ScoreUp", 1);
       Destroy (col.gameObject);
   }
}
```
```c#
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class ScoreScript : MonoBehaviour {
   public int score = 0;
   void Start () {
       GetComponent<Text>().text = score.ToString();
   }
   public void ScoreUp (int point) {
       score += point;
       GetComponent<Text>().text = score.ToString();
   }
}
```
  • C#

    11200 questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • Unity

    7341 questions

    Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

  • Unity2D

    1760 questions

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る