当WP7.x上的指南可见时,Windows Phone XNA游戏会挂起

时间:2013-06-04 14:56:10

标签: windows-phone-7 xna hang resume

我的Windows Phone XNA游戏调用Guide.BeginShowKeyboardInput来获取用户的名字。当显示指南的输入屏幕时,如果用户按下主页或搜索(硬件)按钮,游戏将像往常一样停用 - 但如果用户然后按下后退(硬件)按钮,游戏应该恢复,但它不会。相反,它显示“正在恢复...”消息,直到Windows Phone放弃尝试恢复游戏并终止该过程。

请注意:

  1. 由于此问题,我的应用程序未通过Microsoft认证 - 我真的需要修复它!
  2. 这只发生在我的游戏中,当显示指南输入屏幕时 - 当它没有显示时,游戏 停用后正常恢复。
  3. 只有在WP7.x上运行游戏时才会出现此问题(在WP7.5和WP7.5上验证了问题) WP7.8) - 虽然游戏似乎在WP8设备上正常恢复。
  4. 我创建了一个名为Guide.BeginShowKeyboardInput的空白XNA游戏项目,并使用WP7.x设备对其进行了测试,并且不会出现此问题行为。
  5. 我测试了游戏而没有启用Music&我的试用许可证经理(他们使用计时器),它仍然这样做。
  6. 模拟器中出现完全相同的行为(WP7.x模拟器上的恢复失败,在WP8上正常工作 仿真器)
  7. 我使用线程在加载屏幕期间异步下载内容 - 但它们已经完成并退出。 我不相信其他线程正在运行,虽然这看起来像 它可能是一个线程阻塞的问题。
  8. 当Guide.IsVisible或如何调试/解决此问题时,有什么可能阻止游戏恢复的任何其他想法?

2 个答案:

答案 0 :(得分:1)

此问题的解决方案是在处理在应用程序外部传递控件的任何操作时,不使用SuppressDraw,例如发射器,选择器和指南。

答案 1 :(得分:0)

您是否尝试在停用或关闭事件中调用“Guide.EndShowKeyboardInput”?

为了在应用程序暂停之前关闭指南,您需要10秒钟才能暂停,因此这可能值得研究。 如果您希望指南在简历中重新显示,那么在您的状态保存代码中只有一个标记并打开指南(如果已设置)。