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