引擎在窗口切到后台时自动暂停游戏的逻辑

当网页窗口切到后台时,引擎会停止掉帧逻辑(CCGame.js):

this.on(game.EVENT_HIDE, function () {
	game.pause();
});
this.on(game.EVENT_SHOW, function () {
	game.resume();
});

这样导致网络包也没法处理,一直屯包,等到切回前台,才能处理这些网络消息。

貌似引擎自动处理这件事是不大合适的,必须这和逻辑比较相关,后面的版本是否可以去掉这段代码,让外部自己去决定怎么处理呢?

像我们只需要暂停音乐就可以了。

我现在有什么办法可以绕过这段代码吗?

我用WebSocket,也遇到同樣的問題,關注一下
不曉得有沒有大神有解決辦法?

同样遇到这个问题

源码不是开源的吗,自己修改引擎源码不可以吗

creaor免费闭源…虽然是基于开源cocos的

重点不是引擎的 pause,你可以试试在编译出的 cocos2d-js.js 找到这段代码,注释掉,你的逻辑依然无法执行,这是浏览器的行为,浏览器不会执行在后台的页面上的 javascript

这个需要在服务端和客户端都做好返回时的状态同步

1赞

你们可以参考一下egret切后台是如何处理的吗?

1赞