unity里移动鼠标控制物体的移动(2D)

例如2D游戏里帽子左右的移动:
对于帽子:先获取game视图屏幕的大小,再将其转换成世界坐标点,之后获取帽子的宽度,再计算帽子可移动大小 值
对于鼠标:将鼠标的位置转换为世界坐标位置,

 private Vector3 pinmu;
    private Vector3 shijie;
    private float hatwidth;
    private float width;
    private Vector3 hatPosition;
    private Vector3 shuPosition;
    
    void Start()
    {
        pinmu = new Vector3(Screen.width, 0, 0);//屏幕的宽度;
        shijie = Camera.main.ScreenToWorldPoint(pinmu);///将屏幕的宽度变为坐标轴;
        hatwidth = GetComponent<Renderer>().bounds.extents.x;///获取帽子的宽度=渲染出来的边界/范围/x
        width = shijie.x - hatwidth;/计算出帽子的可移动范围值
        hatPosition = transform.position;获取帽子的初始位置;
        
    }

    // Update is called once per frame
    void Update()
    {
        shuPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);将鼠标的位置转化为世界坐标位置;
        hatPosition = new Vector3(shuPosition.x, hatPosition.y, 0);/帽子移动的方向为鼠标的的x,y,方向
        hatPosition.x = Mathf.Clamp(hatPosition.x, -width, width);//设置帽子的可移动范围
        GetComponent<Rigidbody2D>().MovePosition(hatPosition);/帽子移动

    }


版权声明:本文为qq_46289420原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。