Unity5で、タップした位置に対象物を移動。
タップした位置に、パズルのピースのようにものを移動する場合。
using UnityEngine;
using System.Collections;
public class dragSample : MonoBehaviour {
float touchX;
float touchY;
void Update(){
touchX = Input.mousePosition.x;
touchY = Input.mousePosition.y;
if(Input.GetMouseButton(0)){
OnDrag();
}
}
void OnDrag(){
gameObject.transform.position = Vector3.MoveTowards (gameObject.transform.position,Camera.main.ScreenToWorldPoint(new Vector3(touchX,touchY,10.0f)), 0.1f);
}
}
解説
- Camera.main.ScreenToWorldでタップ位置の座標に変換
- MoveTowordsで、対象物と、持って行きたい位置、それとそこまで移動する速度
マウスのドラッグ&ドロップするように移動する場合は、
MoveTowordsを除けばOK、下記のように。
transform.position = Camera.main.ScreenToWorldPoint(new Vector3(touchX,touchY,10.0f));