内容纲要

物品信息显示出错插图
如图所示,程序运行后由于只有左上角的图片添加了脚本,在鼠标划入图片时,物品信息没有出现在鼠标位置,且报错,点进报错后弹出的是以下代码行

canvasTransform = transform.root.Find("Canvas");

private void Update()
    {
        //将鼠标当前位置转换为GUI坐标,相对于它的父节点
        Vector2 localPos;
        if(RectTransformUtility.ScreenPointToLocalPointInRectangle(canvasTransform as RectTransform, Input.mousePosition, null, out localPos))
        {
            transform.localPosition  = localPos; //相对于父节点
        }
    }

按照视频里讲解,canvasTransform是根节点的Canvas对象,是该脚本绑定对象的父节点。

然后我又将代码更换一下:


private void Update()
    {
        //将鼠标当前位置转换为GUI坐标,相对于它的父节点
        Vector2 localPos;
        if (RectTransformUtility.ScreenPointToLocalPointInRectangle(transform .root as RectTransform, Input.mousePosition, null, out localPos))
        {
            transform.localPosition  = localPos; //相对于父节点
        }
    }

更换后提示信息框可以跟随鼠标了,但是是信息框的中心点跟随,怎么设置左上角跟随?
图:物品信息显示出错插图(1)

发表评论