こんにちは!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
すみませんが漢字読めないので教えてください!
いつもありがとうございます!