Unity タップしたオブジェクトの取得方法!(マルチタップ対応)

こんばんは。河条です。(´・ω・`)

タップしたオブジェクトをマルチタップで取得する方法を紹介します。

マルチタップ対応となると情報少なかったから苦戦した。。。(´・ω・`)

以下、スクリプト

//タップ回数が0を超えたら

if (0<Input.touchCount)
{

  タッチした回数までループする
for (int i = 0; i < Input.touchCount; i++) {

// タッチ情報をコピー
Touch t = Input.GetTouch (i);
//タッチした座標を取得
Vector2 worldPoint = Camera.main.ScreenToWorldPoint (t.position);

    //タッチした座標にレイを飛ばす
RaycastHit2D hit = Physics2D.Raycast (worldPoint, Vector2.zero);

//レイを飛ばしてオブジェクトがあったら
if (hit.collider != null) {

                  //ゲームオブジェクトの名前表示
Debug.log(hit.collider.gameObject.name);

      //ここにタップされた時の処理を書いていく
}
}
}

これをupdate関数に書けばおkです(´・ω・`)(´・ω・`)(´・ω・`)

今回はInput.GetTouchで判定とっているのでマウスだと反応しないので実機で確認しましょう(´・ω・`)(´・ω・`)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です