スマゲ

スマートなゲームづくりを目指して日々精進

Unityで画面をタップした位置にオブジェクトを移動させる

Unityで画面をタップした位置にオブジェクトを移動させます

■完成イメージ
f:id:sanukin39:20160414004156g:plain

■利用用途
スマホゲームでのタップエフェクトなど

■カメラの設定
カメラのprojectionをorthographicにする
f:id:sanukin39:20160414004243p:plain

■オブジェクトの移動
Input.mousePositionで画面をタップした場所を取得、ScreenToWorldPointでゲーム内のワールド座標に変換する

スクリプト

using UnityEngine;
using System.Collections;

public class TapTest : MonoBehaviour {

    [SerializeField] GameObject cube;

    void Update(){
        if(Input.touchCount > 0){ // Editor/マウス操作の場合は Input.GetMouseButton(0) にする
            var pos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            pos.z = 0;
            cube.transform.position = pos;
        }
    }
}

■まとめ
実行する環境によって、タップの検出方法が違うのと、カメラ設定だけ気をつける