HUDMessageManager UI表示のためのコンポーネント
公開日:
更新日:
Unityでゲーム制作もしくはツール制作においてちょっとしたUIを表示したい時があります. HUDMessageManagerはその時のために製作されたものです.
HUDMessageManagerはちょっとしたUIの表示に最適です. 特徴は以下のとおりです.
- 固定されないUIの表示場所
- フェードイン, フェードアウトエフェクト
- 表示時間設定
Unity 2018.2.5f1で動作確認済みです.
WARNING
このページで書かれている書かれている内容が実際のスクリプトと異なる可能性があります.
もともと, このコンポーネントはUIMessageManagerでしたが, HUDMesageManagerに改名されています
ダウンロード
使い方
インポート
ダウンロードページからダウンロードしたスクリプトをUnityにインポートします. UIMessageManagerというフォルダをそのままUnityEditorにドラック&ドロップします.
CanvasにUIMessageManagerコンポーネントを追加
Textを追加
ここでは, CenterとRightを用意してみましょう. またそれぞれに対して, UIMessageAreaをAddComponentします.


このように, 表示したいTextコンポーネントを持つゲームオブジェクトにUIMessageAreaをAddComponentします. UIMessageAreaで設定した内容はそこに表示されるメッセージに反映されます.
表示用のスクリプトを用意
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UIMessageManagement;
public class Test : MonoBehaviour
{
// Messageの作成
Message message = new Message("dont override.", "Right");
void Start()
{
}
void Update()
{
if (Input.GetKeyDown(KeyCode.A))
{
UIMessageManager.Instance.ShowMessage(new Message("Hello world!", "Center"));
}
if (Input.GetKey(KeyCode.S))
{
UIMessageManager.Instance.ShowMessageDontOverride(message);
}
}
}
ShowMessageでMessageを表示します.
ShowMessageDontOverrideが呼び出されたときに, 画面にそのメッセージが残っている場合は, 重複して同一のメッセージを表示しません. メッセージが同じという判断はメッセージのインスタンスで行います. メッセージのインスタンスが異なるときは, 同一のメッセージと判断できません. そのため, あらかじめメッセージをループ外で作成しています.
実行
その他
- 文字の色は, Textコンポーネントの色と連動しています.

