如何制作 RTS 相机,以便当鼠标位于窗口边缘时,它会向左/向右/向上/向下移动。我一直在尝试在屏幕的一侧创建一个不可见的框,以便当鼠标在框上时它会移动相机,但它仍然不起作用。请帮忙!
问问题
335 次
1 回答
0
在@Davor Mlinaric 所说的基础上,使用鼠标 x 和 y 坐标(可以从 Mouse.GetState() 获取),并测试这些坐标是否与屏幕的顶部、底部和侧面接触。设置这些框的位置将是一个好的开始:
GraphicsDevice.Viewport.Width/Height -/+ offset
其中偏移量是与顶部、底部或侧面的距离。然后用布尔值测试鼠标位置在哪里。
boolean inTheZone = false;
//Bottom Box
if(Mouse.GetState().Y > GraphicsDevice.Viewport.Height - offset)
{
//Move camera in the y axis downwards (+).
inTheZone = true;
}
else
{
inTheZone = false;
}
然后剩下的 4 面也一样。请注意,我在这里也使用了 Y,这取决于您如何设置相机,这可能会更改为 Z。
我希望这有帮助
于 2013-08-13T14:42:06.097 回答