【问题标题】:Xna 4.0 RTS cameraXna 4.0 RTS 相机
【发布时间】:2013-08-13 13:21:52
【问题描述】:

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

【问题讨论】:

  • 请提供一些代码
  • 您可以通过鼠标位置进行操作。 mouseX 在 0 到 20 之间(屏幕左边缘)
  • 可以给我一个例子或教程吗?

标签: xna camera xna-4.0


【解决方案1】:

在@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。

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多