2

我正在制作一个 Flash 益智游戏。当用户加载游戏时,需要询问是否从上一个状态恢复游戏(如果存在)。我有一个序列化系统,但我需要确保加载的状态绝对是最后一个状态。

SharedObject一种解决方案是在每次状态更改时(当玩家移动时)将状态保存到 a中。但是,游戏状态有时包括倒计时,因此我必须不断(或定期)保存状态才能保留它。我想这是可以接受的,但看起来很笨拙。

关闭 swf 时是否会触发任何事件?或者其他人对此有另一个优雅的解决方案?

(我没有使用 AIR,但需要 AIR 的解决方案值得赞赏。)

编辑:另一个重要的一点是我可能无法控制游戏的嵌入 HTML,因为它可能被联合到许多网站。所以涉及 javascript 的解决方案并不理想。

4

3 回答 3

2

如果您的 Flash 托管在 HTML 页面上,您可以使用“窗口正在关闭”事件通知通过老式 GetVariable() 或新式 FlashCall() 机制向 Flash 对象发送消息。

你是否真的能够在你的 Flash 对象被销毁之前保持状态是另一个问题......你总是可以做(邪恶的)“你确定要关闭/导航离开这个窗口吗?” 一些网站使用的警报。

在 Flex 中处理 DOM 事件

HTML 5 事件

于 2010-08-25T09:34:23.047 回答
1

关闭事件听起来是正确的解决方案,但我想知道您是否可以“拆分”您的序列化?即在每次移动时保存完整的拼图状态,但也为您的倒计时(或任何类似的)提供辅助“轻量级”状态,每次倒计时更改时都可以更新。

这可能比试图在页面被破坏之前捕获关闭事件并保存更容易(尤其是浏览器在这方面不一致)。

于 2010-08-25T09:49:14.820 回答
0

这个应该可以帮助你

于 2010-08-25T09:18:27.697 回答