鼠标Y坐标与我的预期相反

时间:2015-12-01 23:10:46

标签: c# unity3d

我在更新中有这个,出于某种原因,x值有效,但y被反转。

void Update(){
    if(Input.GetMouseButtonUp(0)){
        var v3 = Input.mousePosition;
        v3.x = v3.x / Screen.width;
        v3.y = v3.y / Screen.height;
        Debug.Log(v3);
        Emit(v3);
    }
}

当我点击屏幕顶部时,发射器位于底部,当我点击屏幕底部时,发射器位于顶部。我需要什么公式,因此y位于鼠标位置。

x / y值介于0和1之间。

这是调试:

Top Click: (0.0, 1.0, 0.0)
Bottom Click: (0.0, 0.0, 0.0)

1 个答案:

答案 0 :(得分:2)

您的调试日志显示正确的值。根据{{​​3}}:

  

屏幕或窗口的左下角位于(0,0)。屏幕或窗口的右上角位于(Screen.width,Screen.height)。

因此,热门点击确实会在1.0轴中返回y。如果你想要相反,你必须减去。

这确实有点令人困惑,因为Unity中的某些东西是另一种方式。例如, Rect xMinyMin位于左上角,所以它恰恰相反。

相关问题