こんにちは!Unityの入門書で通称”ヒヨコ本”として親しまれている”Unity5入門 最新開発環境による簡単3D&2Dゲーム制作
前回は”リトライボタンをクリックしたらゲームをリセットする“というのを行いました。今回はゲームスコアをUIオブジェクトで作成して画面に表示してみたいと思います。
作成したTextを右クリック > Rename を選択”Text Score”に変更します。
作成したUIオブジェクト”Text Score”はタイトル画面で表示されないように階層を変更します。
下記の通り、UIオブジェクト”Panel Title”よりも上の階層に移動します。
下記の通り数値を設定します。
Pos X -320 / Pos Y -20 / Width 300 / Height 60 / Pivot X 0 / Y 1
スタートボタンをクリックしてタイトル画面が非表示になると、次のように画面右上に得点が表示されます。
得点を表示するUIオブジェクトが用意できたので、次はスクリプトを用意しましょう。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// UI関連クラスを使用できるようにする
using UnityEngine.UI;
public class Score : MonoBehaviour
{
// UIオブジェクト"Text Score"を格納する変数
public GameObject textScore;
// テキストコンポーネントを格納する変数
private Text text;
// ゲームの初期処理
void Start()
{
// 変数"textScore"に格納されたUIオブジェクトの
// "Text"コンポーネントを取得して変数"text"に格納
text = textScore.GetComponent<Text>();
}
// ゲーム実行中の繰り返し処理
void Update()
{
// "Text"コンポーネントの"text"フィールドにスコアの値を代入
//(スクリプト"Manager"の変数"score"の値を文字列として参照)
text.text = "SCORE: " + Manager.score.ToString();
}
}
スクリプト”Manager”の変数”Score”の値を参照できているか確認しましょう。[Hierarchy]ウィンドウ > Manager を選択。[Inspector]ウィンドウ > Manager (Script)コンポーネント
> “Initial Score”フィールドに”777″と入力しておきます。
ゲームを再生してゲームスコアに”SCORE: 777″と表示されていればOKです。
View Comments
すみませんが漢字読めないので教えてください!
いつもありがとうございます!