2D:UGUI
public void OnBeginDrag(PointerEventData eventData)
{
ima.raycastTarget = false;//
offset = transform.position - Globe.Instance.UICamera.ScreenToWorldPoint(Input.mousePosition);
beginPos = this.transform.position;//记录一开始的位置
beginParent = transform.parent;
}
public void OnDrag(PointerEventData eventData)
{
Vector3 tec = Globe.Instance.UICamera.ScreenToWorldPoint(Input.mousePosition) +offset;
this.transform.position = tec;
}
3D:物体带有碰撞器
private void OnMouseDown()
{
vec = Camera.main.WorldToScreenPoint(transform.position);
offset=transform.position- Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, vec.z));
}
private void OnMouseDrag()
{
transform.position = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, vec.z))+offset;
}