由于cocos引擎中,游戲切入后臺后定時器后停掉會讓某個Animation動作停止。 導致當重新進入游戲時,看到的不是你想要的畫面?;蛘叨〞r器倒計時的時間對不上等問題。 cc.game.EVENT_HIDE 和 cc.game.EVENT_SHOW可以解決這個問題,前者是進入后臺的監聽,后者是 返回游戲的監聽?;卣{的事件可以自定義,這里只做簡單的舉例:
var pauseTime = 0;cc.eventManager.addCustomListener(cc.game.EVENT_HIDE, function(){ cc.log("游戲進入后臺"); pauseTime = ServerTimeUtils.getServerTime();});cc.eventManager.addCustomListener(cc.game.EVENT_SHOW, function(){ cc.log("重新回到游戲!"); if(ServerTimeUtils.getServerTime() - pauseTime > 60*1000){ if(!cc.sys.isNative){ location.reload(); //相當于刷新操作 }else{ ReLogin(); //重新登錄的處理 } }});ServerTimeUtils.getServerTime()是自定義的本地同步服務器時間的一個方法。如果只需記錄時差,則可換成 new Date().getTime. 上述代碼功能: 1.no native: 若離開頁面(最小化窗口或切換了選項卡)超過60S,則刷新游戲,即重新加載。
2.native:若游戲切換到后臺超過60S,則重新登錄加載游戲。
新聞熱點
疑難解答