Unity - 2D:画面に残機を表示する -
初めに
横スクロールアクションでは、残機やスコア、残り時間など必要な情報を表示する必要があります。今回は残機を表示していきます。
Index
テキストを作成、表示させる
- Hierarchyで右クリック→UI→Text をクリックする
Canvas と Text が生成されます。Text は UI なのでCanvas の子オブジェクトにしておかなければ表示されません。
- Canvas の Render Mode を Screen Space - Overlay - にする
Canvas の Render Mode は3種類あります。
Render Mode | 機能 |
---|---|
Screen Space - Overlay - | Canvasは常に最前面に描画され、スクリーン全面に配置される |
Screen Space - | Canvasは指定したカメラによって描画される |
World Space | Canvasをワールド空間上の決まった位置に配置する設定 |
今回は、画面の最前面に表示したいため、Overlay にします。
- Text の 位置、サイズを設定します。
Text のRectTransform、Textから位置、サイズなどを変更します。
- 残機を取得し、表示するためのスクリプトを作る
Text にアタッチするスクリプトを書きます。
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; //TextはUIのため追加 public class RemainScript : MonoBehaviour { //GameManager private GameObject _gameManagerObject; GameManager GMScript; private int _remainnum = -1; //Text Text remainText; // Start is called before the first frame update void Start() { //GameManagerを取得 _gameManagerObject = GameObject.Find("GameManager"); GMScript = _gameManagerObject.GetComponent<GameManager>(); //残機の取得 _remainnum = GMScript.remain; //残機のテキスト remainText = GetComponent<Text>(); remainText.text = "残機×" + _remainnum; } }
残機をゲームマネージャーから取得し、テキストを変更しています。残機を変えるタイミングでは必ずシーンをロードするため、Start のみに記述しています。
- スクリプトをつける
実行
最後に
同じようにすれば、他の情報も画面に表示させることができます。横スクロールアクションに必要な要素はかなり記事にできたと思います。今後は、UIの使い方などをまとめていこうと思います。