まず「ゲームオーバーシーン」にハイスコアを表示するためのテキストを追加します。
・「Canvas」を右クリック→「UI」を選択→「Text」を選択してクリック。
・名前は「HighScoreLabel」に変更。
・「HighScoreLabel」を選択した状態で、「大きさ」「位置」「Text」「Font Size」を調整します。
・今回は「Canvas」の「中央」に配置するように調整しましょう
次に、スクリプトを作成します。
*「ScoreManager」スクリプトに下記コードを追加してください(★★の部分)
using UnityEngine; using System.Collections; using UnityEngine.UI; public class ScoreManager : MonoBehaviour { private int score; public Text scoreLabel; // Use this for initialization void Start () { score = 0; scoreLabel.text = "SCORE:" + score; } public void addScore(int amount){ score += amount; scoreLabel.text = "SCORE:" + score; // ★★ハイスコアを保存する。 if(PlayerPrefs.GetInt("HighScore") < score){ PlayerPrefs.SetInt("HighScore", score); } } }
・次に、新しいC#スクリプトを1つ作成してください。
・名前は「ScoreController」に変更
・下記のコードを記載しましょう。
using UnityEngine; using System.Collections; // ★<追加>UIはユーザーインターフェイスの略 using UnityEngine.UI; public class ScoreController : MonoBehaviour { public Text highScoreLabel; // Use this for initialization void Start () { highScoreLabel.text = "Rank1:" + PlayerPrefs.GetInt("HighScore") + "点"; } }
・次に「Hierarchy」→「Create Empty」でオブジェクトを1つ作成。
・名前を「ScoreController」に変更。
・この 「ScoreController」オブジェクトに「ScoreController」スクリプトをドラッグ&ドロップしましょう。
・「High Score Label」には「Canvas」の「HighScoreLabel」テキストをドラッグ&ドロップ。
ここまででいたら再生ボタンを押してプレイ
ゲームオーバーになった時、ハイスコアが画面に表示されたら成功です。