Monogame Windows Phone 8 OnExiting not called

本文关键字:not called OnExiting Windows Phone Monogame | 更新日期: 2023-09-27 18:30:24

我正在Windows Phone 8上学习MonoGame,在我的代码中,我的游戏类中有以下方法,用于检测当用户按下"开始"按钮但未调用游戏时游戏是否退出。

protected override void OnExiting(object sender, EventArgs args)
{
    // There’s no going back from here, so save everything and exit.
    SaveGameState();
}

我错过了什么?

Monogame Windows Phone 8 OnExiting not called

从技术上讲,这是MonoGame中的一个错误,因为它的行为方式与XNA不同。但是,有一个解释和一个解决方法。

在某些平台上,如iOS和Android,游戏永远不会真正退出;因此,在OnExiting方法中做一些事情无论如何都不会像你期望的那样在这些平台上工作。

因此,最好将游戏状态保存在 OnDeactivated 方法中,然后在 OnActivated 方法中重新加载它。