这个方法不是作一个射线来PICK物品。是用了U3D中一个比较方便的API来实现的,非常简单。
int speed = 10;
void OnMouseDrag () {
transform.position += Vector3.right * Time.deltaTime*Input.GetAxis ("Mouse X") * speed;
transform.position += Vector3.forward * Time.deltaTime*Input.GetAxis ("Mouse Y")* speed;;
}
————————————————————————————————
Unity 5.1 UGUI 基础讲解 蛮牛 第九课 图片的拖动功能介绍
using UnityEngine;
using System.Collections;using UnityEngine.EventSystems;
//添加拖动接口,添加命名空间
public class trag : MonoBehaviour,IBeginDragHandler,IEndDragHandler,IDragHandler {
private RectTransform rectTransform;
// Use this for initialization
void Start () {
rectTransform = this.gameObject.GetComponent<RectTransform> ();
}
public void OnBeginDrag(PointerEventData data)
{
print ("开始拖拽");
}
public void OnDrag(PointerEventData data)
{
rectTransform.position = data.position;
print ("推拽中");
}
public void OnEndDrag(PointerEventData data)
{
print ("拖拽结束");
rectTransform.position = this.gameObject.GetComponent<RectTransform> ().TransformVector(100f,100f,0f);
}
}
————————————————————————————————————————————————————————————
using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
public class Ipointer : MonoBehaviour,IDropHandler,IPointerEnterHandler,IPointerExitHandler {
// Use this for initialization
void Start () {
}
public void OnPointerEnter(PointerEventData data)
{
print ("鼠标进来了");
}
public void OnDrop(PointerEventData data)
{
print ("拖拽一会松开鼠标左键了");
}
public void OnPointerExit(PointerEventData data)
{
print ("鼠标出去了");
}
}