4starlink

Unity5で対象物を一定速度でドラッグ&ドロップ

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);
    }
}

解説

マウスのドラッグ&ドロップするように移動する場合は、

MoveTowordsを除けばOK、下記のように。

transform.position = Camera.main.ScreenToWorldPoint(new Vector3(touchX,touchY,10.0f));