(27)ハイスコアを表示する

まず「ゲームオーバーシーン」にハイスコアを表示するためのテキストを追加します。

「Canvas」を右クリック→「UI」を選択→「Text」を選択してクリック。

・名前は「HighScoreLabel」に変更。

・「HighScoreLabel」を選択した状態で、「大きさ」「位置」「Text」「Font Size」を調整します。

・今回は「Canvas」の「中央」に配置するように調整しましょう

スクリーンショット 2016-04-22 17.13.08

次に、スクリプトを作成します。

「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」スクリプトをドラッグ&ドロップしましょう。

スクリーンショット 2016-04-22 21.04.21

・「High Score Label」には「Canvas」の「HighScoreLabel」テキストをドラッグ&ドロップ。

スクリーンショット 2016-04-22 21.04.35

ここまででいたら再生ボタンを押してプレイ

ゲームオーバーになった時、ハイスコアが画面に表示されたら成功です。

スクリーンショット 2016-04-22 21.08.52