在Unity中从像素坐标转换为UI坐标

时间:2015-06-17 18:40:20

标签: user-interface unity3d

有没有人知道如何在Unity中将像素坐标转换为UI坐标,反之亦然?让我们举个例子,我想用鼠标点击屏幕上的某个地方,然后点击UI图像。如果我这样做,那就不会工作:

Image img = null // I assign it via the inspector
void Update()
{
    if(Input.GetMouseButtonDown(0))
    {
        img.rectTransform.anchorPosition = Input.mousePosition;
    }
}

1 个答案:

答案 0 :(得分:3)

Image img = null // I assign it via the inspector
void Update()
{

        if(Input.GetMouseButtonDown(0))
    {
        Vector2 point;
        RectTransformUtility.ScreenPointToLocalPointInRectangle((RectTransform)img.rectTransform.parent, Input.mousePosition, canvasCamera, out point);
        img.rectTransform.anchorPosition = point;
    }
}