我有一个简单的桨,我试图使用鼠标沿X轴移动。目前它移动但相对于鼠标位置大幅下降。
我认为这是因为我的屏幕的一半是-7.5而另一半是7.5
我想知道是否有任何方法可以解决这个问题。从你的代码中可以看出,我乘以16,如果另一半不是负数,则为宽度。
我可以移动整个剧本以使其不是负片,所以我希望有一个功能
Vector3 paddlePos = new Vector3 (0f, this.transform.position.y , -0.25f);
float mousePosInBlocks = Input.mousePosition.x / Screen.width * 16;
paddlePos.x = Mathf.Clamp(mousePosInBlocks, -7.5f, 7.5f);
this.transform.position = paddlePos;
答案 0 :(得分:1)
使用此代码 -
Vector3 paddlePos = new Vector3 (0f, this.transform.position.y , -0.25f);
float mousePosInBlocks = Input.mousePosition.x / Screen.width * 16;
paddlePos.x = Mathf.Clamp((mousePosInBlocks - 7.5f), -7.5f, 7.5f);
this.transform.position = paddlePos;
Mathf.clamp函数仅返回最小值和最大值范围内的值。虽然您需要使用mousePosInBlocks值来考虑负屏幕和正屏幕空间。