まず「ゲームオーバーシーン」にハイスコアを表示するためのテキストを追加します。
・「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」テキストをドラッグ&ドロップ。
ここまででいたら再生ボタンを押してプレイ
ゲームオーバーになった時、ハイスコアが画面に表示されたら成功です。



