【Unity実践】#15 ゲームプレイ中のUI作成【ランゲーム】
今回の内容
今回はゲームプレイ中のUIを作成します。
※初めての方はこちらから
⇒ 【第1回記事】導入とサンプルの紹介
プレイ中のUI作成
完成形は下図のように、画面上部にステージ番号とコイン数が表示されるようにします。
まず Canvas の子要素として空のオブジェクトを作成し、名前を GameUI とします。
以下の配置設定とします。
GameUI の子要素として Text を配置し、名前は LevelNumText とします。
配置と Text を以下の設定とします。
フォントについてはポップな雰囲気を出したいので、以下のフリーフォントを使用します。
––––––––––––––––––––––––––––––
フォント:ラノベPOP V2
フリーダウンロード:https://flopdesign.booth.pm/items/2328262
––––––––––––––––––––––––––––––
Assets > Fonts フォルダを作成して、ダウンロードした LightNovelPOPv2.otf をインポートします。
LevelNumText の Font をこのフォントに設定します。
続けてコイン数を表示するUIを作成します。
GameUI の子要素として Text を配置し、名前は CoinNumText とします。
配置と Text を以下の設定とします。
コインのアイコンを表示するために、GameUI の子要素として Image を配置し、名前は CoinImg とします。
配置設定は以下にします。
コインアイコン用の画像は以下をダウンロードしてください。
(右クリック > 名前を付けて保存)
ダウンロードした画像を Assets > Images フォルダにインポートします。
Texture Type は Sprite に変更しておきましょう。
CoinImgオブジェクトの Source Image に、インポートした coin_icon を設定します。
(関連記事)
uGUI(Text)の使い方を詳しく解説
uGUI(Image)の使い方を詳しく解説
UIに枠や影を付けて強調する
細かいですが、先ほど作成したUIに枠や影を付けて少し強調します。
LevelNumText を選択して、Outlineコンポーネントを追加します。
少し色をグレーに変更して、距離を 2 にしました。
CoinNumText にも同様に Outline を設定してください。
CoinImg には Outline ではなく、Shadowコンポーネントを追加します。
こちらは初期設定のままにしておきます。
UIを確認すると、以下の様に少し境界がはっきりするのが確認できます。
各設定はお好みで変更してみて下さい。
コインの獲得数をUIに反映する
最後に、コインの獲得数をUIに反映します。
GameManagerScript を以下に変更します。
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class GameManagerScript : MonoBehaviour { public enum GAME_STATUS { Play, Clear, Pause, GameOver }; public static GAME_STATUS status; public static int tempCoinNum; [SerializeField] Text coinNumText; void Start() { // ステータスをPlayに status = GAME_STATUS.Play; } void Update() { coinNumText.text = tempCoinNum.ToString(); } }
エディターに戻り、GameManagerオブジェクトを選択します。
GameManagerScript の coinNumText に Canvas > CoinNumTextオブジェクト を設定します。
ステージ番号については次回以降で対応します。
おわりに
プレイ中のUIを作成したことで、見た目的にはかなり完成に近づきました。
次回はクリア時のUIを作成したいと思います!
関連リンク ➡ 「初心者のための」Unityゲーム制作 目次
© Unity Technologies Japan/UCL