Xna 4.0 RTS相机

时间:2013-08-13 13:21:52

标签: xna camera xna-4.0

如何制作RTS相机,以便当鼠标位于窗口边缘时,它将向左/向右/向上/向下移动。我一直试图在屏幕的侧面创建一个隐形框,这样当鼠标在框中时它会移动相机,但它仍然不起作用。请帮忙!

1 个答案:

答案 0 :(得分: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。

我希望这会有所帮助

相关问题