Как реализовать OnExit-подобный метод в моей игре XNA? - PullRequest
4 голосов
/ 08 декабря 2010

Существует ли какой-либо метод для игр C # XNA, который определяет, нажал ли пользователь на крестик, чтобы закрыть программу, или нажал клавиши ALT + F4, чтобы закрыть ..?

Клавиши ALT + F4 могутвероятно, будет обнаружен в KeyBoardState, но как мне обнаружить нажатие на крестик, чтобы закрыть окно?

Мне нужно это, чтобы я мог закрыть все потоки, работающие, когда пользователь закрывает игру любым способом.. В настоящее время у меня все еще работают некоторые темы, когда игра закрывается, что заставляет музыку продолжать играть: P

Обратите внимание, что метод должен быть совместим как с Windows, так и с Xbox 360, так как игра должна запускатьсяна обеих этих платформах (возможно, и Zune) ..

1 Ответ

9 голосов
/ 08 декабря 2010

Либо переопределите метод OnExiting для Game, либо добавьте его в событие Exiting.

Пример:

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

    // Stop the threads
}
...