見出し画像

Unityでマウスクリックイベントを処理する方法


概要:
Unityゲーム内でマウスクリックイベントを処理する方法を紹介します。この記事ではUniRxを使用せず、基本的なC#コードを使用して、マウスのクリックを検出し、メッセージを進める簡単なゲームのスクリプトを作成します。

本文:

Unityゲーム内でマウスクリックを検出し、クリックイベントを処理するためにUniRxを使用する方法はありますが、ここではUniRxを使用せず、純粋なC#コードを使って同様の動作を実現する方法を紹介します。

ステップ1: ゲームオブジェクトのセットアップ

まず、Unityのシーン内にメッセージを表示するためのUI要素を設定します。テキストメッシュプロ(TextMeshPro)を使用して、メッセージを表示するUIテキストを作成します。

[SerializeField] private TMPro.TMP_Text messageText; // メッセージを表示するTextMeshProUGUI

ステップ2: クリックでメッセージを進める

マウスの左ボタンがクリックされたときにメッセージを進めるスクリプトを作成します。`Update` メソッドを使用して、毎フレームマウスクリックを検出します。

void Update()
{
    if (Input.GetMouseButtonDown(0))
    {
        ContinueMessage();
    }
}

ステップ3: メッセージキューの管理

メッセージをキューに格納し、クリックイベントごとにキューから次のメッセージを取得して表示します。メッセージキューが空になったら、ゲームオブジェクトを非アクティブに設定してゲームを終了します。

private void ContinueMessage()
{
    if (messageQueue.Count > 0)
    {
        string message = messageQueue.Dequeue();
        DisplayMessage(message);
    }
    else
    {
        gameObject.SetActive(false);
    }
}

ステップ4: メッセージを表示

最後に、`DisplayMessage` メソッドを使用してメッセージを表示します。これにより、画面に次のメッセージが表示されます。

private void DisplayMessage(string message)
{
    messageText.text = message;
}

結論:

Unityゲーム内でマウスクリックイベントを処理する方法を紹介しました。UniRxを使用せず、基本的なC#コードを使用してマウスクリックを検出し、メッセージを進める簡単なゲームのスクリプトを作成しました。 UniRxを使用しないアプローチでも、Unity内でクリックイベントを処理することができます。

参考リンク:

いいなと思ったら応援しよう!