キューバに行ってみたい

ゲーム開発とかWeb開発とか

[Unity] 画面のどこをタップしても画面遷移できる画面を実装する

Version unity 2020.3.27.f1 で動作検証を行っています。

スマホゲームを開発していると画面をタップしてゲームスタートさせるというような画面を作成したいことがあるかと思います。

このように画面のどの部分をタップしても画面遷移ができる画面です。

今回はこのような画面の実装方法について紹介したいと思います。

実装方法

Tap To Start というテキストは単純に画面の中心に配置し、特に Script のアタッチなどは行いません。

ポイントとなるのが TapObj で、これは空オブジェクトを画面全体に配置し、全体に BoxCollider2D をアタッチしています。

こうすることで画面をタップするイベントを拾うことができます。

そして以下の script を作成して TapObj にアタッチします。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class TapToStart : MonoBehaviour
{
    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.Mouse0))
        {
            SceneManager.LoadScene("Stage1Scene");
        }
    }
}

この script は Update() メソッドでタップされたことをチェックし、タップされた場合 Stage1Scene に遷移するといった内容になっています。

以上で画面のどこをタップしても遷移する画面を作成することができます。

より良い実装方法があれば、ぜひ教えていただけると助かります。