ひとりでのアプリ開発 - fineの備忘録 -

ひとりでアプリ開発をするなかで起こったことや学んだことを書き溜めていきます

Unity - 2D:画面に残機を表示する -

初めに

 横スクロールアクションでは、残機やスコア、残り時間など必要な情報を表示する必要があります。今回は残機を表示していきます。


テキストを作成、表示させる

  • 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の使い方などをまとめていこうと思います。