Trivial

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
IEnumerator OnMouseDown()
    {
        Debug.Log(2121212);
        Vector3 targetScreenPos = Camera.main.WorldToScreenPoint(moveBreakDrill.transform.position);//三维物体坐标转屏幕坐标
        将鼠标屏幕坐标转为三维坐标,再计算物体位置与鼠标之间的距离
        var offset = moveBreakDrill.transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, targetScreenPos.z));
 
        while (Input.GetMouseButton(0))
        {
            Debug.Log("jinruyidong");
            将鼠标位置二维坐标转为三维坐标
            Vector3 mousePos = new Vector3(Input.mousePosition.x, Input.mousePosition.y, targetScreenPos.z);
            将鼠标转换的三维坐标再转换成世界坐标 + 物体与鼠标位置的偏移量
            var targetPos = Camera.main.ScreenToWorldPoint(mousePos) + offset;
            moveBreakDrill.transform.position = targetPos;
            yield return new WaitForFixedUpdate();//循环执行
        }
    }

  

MonoBehaviour<Behaviour<Component<Object

posted @   gatran  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示