【问题标题】:How to do implement an OnExit like method in my XNA game?如何在我的 XNA 游戏中实现类似 OnExit 的方法?
【发布时间】:2010-12-08 08:28:44
【问题描述】:

C# XNA 游戏有什么方法可以检测用户是点击十字按钮关闭程序,还是按下 ALT+F4 键关闭..?

从 KeyBoardState 中可能可以检测到 ALT+F4 键,但是如何检测单击十字按钮关闭窗口?

我需要这个,以便在用户通过任何方式关闭游戏时关闭所有正在运行的线程。我目前有一些线程在关闭游戏时仍在运行,这使得音乐仍在播放:P

请注意,该方法必须同时兼容 Windows 和 Xbox 360,因为游戏应该在这两个平台上运行(可能也是 Zune)..

【问题讨论】:

标签: c# visual-studio xna


【解决方案1】:

覆盖Game 的OnExiting 方法或订阅其Exiting 事件。

例子:

protected override void OnExiting(Object sender, EventArgs args)
{
    base.OnExiting(sender, args);

    // Stop the threads
}

【讨论】:

  • 你能举个例子吗?我尝试在 Game 继承类中编写此代码:..
  • 受保护的虚拟 void OnExiting( 对象发送者,EventArgs args ) { timeToQuit = true;出口(); }
  • 并尝试在第一条指令设置断点,然后运行游戏并按ALT+F4看看我是否到了那个断点..我没有..游戏自然关闭了..这个表示游戏退出到windows命令ALT+F4关闭一个窗口,不是因为我上面提到的代码..
  • 你需要将方法标记为override否则不会被调用。
猜你喜欢
  • 2010-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-29
  • 2010-12-23
  • 2021-10-11
  • 1970-01-01
相关资源
最近更新 更多