在libgdx上捕获onClose窗口事件

时间:2014-03-07 09:51:40

标签: java events libgdx

我正在开发一个libgdx游戏,我想使用这些偏好来存储玩家的进步和偏好。

到目前为止一切顺利。在android中有很好的事件可以更新首选项并将它们存储到文件系统中。

我想知道桌面端是否存在类似的东西。也就是说,有没有办法为用户关闭窗口添加一个监听器?

这样我就可以在应用程序关闭之前刷新数据。

还是有其他方法吗?

1 个答案:

答案 0 :(得分:4)

您的主游戏实施ApplicationListener,其中包含dispose()方法。如果您关闭窗口或退出游戏,则会调用此方法。因此,您可以在flush()方法中Preferences dispose()。 但正如@noone所说,你也应该想一想,你的应用程序可能因某些原因而崩溃。如果发生这种情况,则不会调用dispose()。对Preference这样的Soundoptions或Graphic设置来说,这不会是一个大问题,因为你可以在下次轻松设置它们,但如果玩家失去了进步,他将会感到沮丧。所以我会考虑使用以下方法之一:

    每次更改都
  1. flush()。你可以确定一切都安全了。对于进度,您可以flush()查看某些特殊事件/安全点
  2. 一段时间后
  3. flush()。让我们说每5分钟一次?
  4. 菜单上的按键事件/按钮按
  5. flush()