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

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐