本日はUnity枠です。
筆者は今までXRデバイスかPCアプリケーションばかり開発していたのですが最近iPhoneアプリケーションの開発も進めています。
今回はスクリーンのタップを検知します。
〇環境
・Windows11PC
・Surface LaptopStudio 2
・iPhone12 Pro
〇Unityでタップを検知する
Unityでタップを検知するためにはInputを使用します。
UnityのInputSystemではtouchCountを使用することで同時タップを検知できます。
例えばif (Input.touchCount == 2)を使用することで二本指でタップした場合のみを検出することができます。
具体的には以下のコードでタップを検知できます。
void Update()
{
if (Input.touchCount == 2)
{
if (Input.GetTouch(0).phase == TouchPhase.Began && Input.GetTouch(1).phase == TouchPhase.Began)
{
//タップ時のイベント
USs.SetActive(!USs.activeSelf);
_Mode.text = GetGameMode();
}
}
}
ここでは現在画面に触れている指の数が2本であることを確認し、最初および次のタッチが始まったことを検知しています。
これによって二本指で同時に画面に触れた瞬間を検知できます。
このコードはiPhoneのようなタブレットだけでなくSurfaceのようなタッチスクリーンにも対応しています。
本日は以上です。