2013-02-08 46 views
0

我正在將html5遊戲移植到win8。爲了保存遊戲狀態,我在window.unload中調用了一個函數save_game(它使用localStorage來存儲一些數據),這當然在這裏不起作用。所以我用WinJS.Application.oncheckpoint代替。奇怪的是,如果我啓動遊戲並按alt-f4,遊戲狀態不會保存。在事件處理程序中使用console.log在VS中進行調試時,我發現它只有在恢復應用程序時纔會觸發。奇怪的是,如果我在代碼中放置了一個斷點,那麼事件處理程序將在暫停期間正確執行。窗口8 JavaScript應用程序oncheckpoint不起作用

任何人都知道爲什麼會發生這種情況?這是win8中的錯誤嗎?

在此先感謝。

回答

3

在使用VS調試應用程序時,您會看到已知的行爲。當您通過用戶操作(Alt-F4 /頂部滑動)關閉應用程序時,應用程序實際上會被調試器保持打開一段時間。如果您在檢查點設置斷點,調試應用程序,請按Alt-F4,然後等待約5秒鐘,您將點擊斷點。模擬用戶「關閉」事件的最佳方法是使用VS中的掛起和關閉選項,該選項將立即啓動檢查點。

+0

是的,當調試我實際上只是使用掛起和恢復選項,它似乎只有在我沒有設置斷點後恢復應用程序觸發console.log。 – rYttrium 2013-02-10 13:12:12