棋牌类游戏,切换到后台后,场景暂停再恢复的功能

做棋牌类游戏,前后端通讯是用websocket,现在碰到问题分别是:
游戏在切换到后台之后,如果后台没有断开,再次切换回游戏后可以快速恢复游戏,而不是重连恢复,重连恢复需要初始化加载游戏场景。

//进入后台 cc.eventManager.addCustomListener(cc.game.EVENT_HIDE, function(event){ self.gamePause(); //游戏切换到后台之后,该方法里面的js不会再执行了。怎么破 }); //恢复显示 cc.eventManager.addCustomListener(cc.game.EVENT_SHOW, function(event){ self.gamePause(); });
现在使用cc.eventManager.addCustomListener cc.game.EVENT_HIDE 和cc.game.EVENT_SHOW 可以做的切换到后台后处理通知服务器。但是cc.game.EVENT_HIDE 切换到后台之后 该方法里面的数据会被暂停,也就是说游戏后台的时候,js都会被暂停执行…

还有一个通点是:
游戏切换到后台之后,如果不断开服务器,在别人打牌的时候,会收到服务器很多数据都堆积在那,当切换回游戏的时候,会依次快速加载堆积的数据 有时候会出现异常,因为在加载过程别人还在打牌发送数据再次积累数据。大家做棋牌类游戏复原场景是怎么实现的,可以做的切换回来就能复原,使用初始化加载游戏数据复原的时候需要一段时间,复原过程中如果别人还在打牌,就可能会出错。希望大牛可以给个好的思路或者解决方案,不胜感谢!

没有人回复吗。

没有人知道这个问题吗。工作人员也不能回答一下吗,哎,论坛人气啊

为啥重连就一定要重新绘制场景?不能做保留场景的重连么

怎么保留场景的,刚接触 cocos creator,很多东西不知道,谢谢

切换到后台的时候还会把场景pop么?后台切换回来的时候场景还在的,重连的时候,只要你不退出场景把场景重置成初始状态,再根据重连数据加载成最新状态

谢谢,你的意思就是在当前场景加载数据不要退出去重连对吧。

是的,你想要的不是这样的效果么

因为之前数据都在大厅写好了。所以每次都在切换到登录界面再到大厅去请求重连。然后再重新加载初始化数据,因为还有websocket 重连等一系列影响这样比较稳定就是速度慢点,不过还是谢谢。

那只能说你们的框架不够好

小白自己做的框架…刚接触 cocos creator

可以优化优化整个流程,慢慢的踩坑就好了

您好 请问您最终是如何解决这个问题的呢?

同问啊!!!!!!!

切回来后直接断线重连,这时候把数据场景全部清掉,然后把重连发的数据重新加载