【unity】ハイスコア表示を作る、保存する方法【コード、最高記録、次回プレイでも残る】

ハイスコアは PlayerPrefs を使うと簡単に保存できます 👍
Unityを閉じても スコアが残ります。

① GameManagerスクリプトを変更


  1. using UnityEngine;
  2. using TMPro;
  3. public class GameManager : MonoBehaviour
  4. {
  5.     public static int score = 0;
  6.     int highScore;
  7.     public TextMeshProUGUI scoreText;
  8.     public TextMeshProUGUI highScoreText;
  9.     void Update()
  10.     {
  11.         scoreText.text = "Score: " + score;
  12.         highScoreText.text = "HighScore: " + highScore;
  13.         if (score > highScore)
  14.         {
  15.             highScore = score;
  16.             PlayerPrefs.SetInt("HighScore", highScore);
  17.         }
  18.     }
  19. }

こんな感じに

② ハイスコア表示を作る

Hierarchyで

Canvasを右クリック

UI(Canvas)

Text(TextMeshPro)

名前を

HighScoreText

にします。

Hierarchy の

GameManager

をクリックします。

すると右の Inspector に

GameManager (Script)

が表示されます。

その中にこういう欄があります👇

Score Text None (TextMeshProUGUI)

ScoreText をドラッグ

Hierarchy にある

Canvas
├ ScoreText
└ HighScoreText

の ScoreText を

マウスで クリックしたまま

Inspector の

Score Text None

の箱まで持っていきます。

そして マウスを離します。

成功するとこうなる
Score Text ScoreText
High Score Text None


同じように

HighScoreText

High Score Text None

の箱へドラッグします。

最終状態
Score Text ScoreText
High Score Text HighScoreText

これで

スクリプト → UIの文字

を操作できるようになります。

完成

ゲーム中

敵を倒す

Score増える

最高記録なら保存

次回プレイでも残る