如何在 XNA 中实现对话框



如何在XNA游戏中实现类似对话框的东西?我想做的是当对话框的图像仍然处于活动状态时,它下面的任何内容都将停止接收用户输入,直到框消失。使用矩形的 Contains() 方法似乎不起作用,因为它是基于坐标的。

例如:单击一个项目将弹出一个小的"使用"框。即使该框的图像与另一个项目位于同一位置(或更准确地说,位于顶部),单击那里也只会触发第一个项目的使用,而不会为第二个项目显示另一个"使用"框,有效地禁用第二个项目的输入区域在碰撞矩形中。

只需使用一些标志来获取输入

例如

bool accessFlag = true;

然后在 Update() 方法中

if (accessFlag)
{
  // Take input from user
}

然后在出现对话框或您想要的任何其他内容时将 accessFlag 设置为 false。并在弹出窗口消失时使其成为现实。

最简单的方法是使用 UIElementRenderer,如以下示例所示: http://blogs.microsoft.co.il/blogs/pavely/archive/2011/10/26/windows-phone-combining-silverlight-amp-xna-in-a-single-page.aspx

最新更新