cocos creator麻将教程系列(三)—— 达达麻将开房间流程
达达麻将”开房”
目录
达达麻将版图
寻找客户端发送逻辑
1: 找到创建按钮,并找到关联的函数 --> hall.js: onCreateRoomClicked;
2: 显示出创建房间的界面,找到这个界面的挂载脚本: createRoom.js
3: 创建列表,配置创建的参数, createRoom函数将命令通过http发送到大厅服务器;
4: 响应地址为:create_private_room, 数据为创建参数, 返回结果回掉: onCreate函数
寻找服务器响应
1: hallserver: 配置好的 “/create_private_room”;
2: 处理步骤:
(1)查询数据库,获取账号信息; db.js --> get_user_data函数
(2)检车玩家是否已经在一个房间游戏: get_room_id_of_user,只有没有在游戏才可以创建;
(3)room_service.js 的createRoom:
1>找到最小的负载的server;
2> 获取用户的gems房卡的数目;
3>麻将服务器http_server, create_room URL响应;
4> roomMgr创建一个createRoom:
a:检测创建参数, b 检测房卡的余额,c创建房间;
5>:URL 响应返回后enterRoom
(4) room_service.js 的enterRoom:
1> 麻将服务器http_server, enter_room URL响应
2> roomMgr enterRoom 返回一个token给大厅服务
3> 大厅服务组合麻将服务器的ip, port, token, 房间ID 回给客户端
寻找客户端处理返回
1:获得了麻将服务器的ip, port, token, time;
2: 连接麻将服务器 GameNetManager.js --> connectGameServer
3: 连接成功后,发送登陆游戏服务器的命令 socket.io发送登陆login
4: 获取房间的信息,包括座位信息等,广播给房间的其他玩家用户来了
5: 发送登陆结果命令 login_result到客户端,客户端保存好;
6: 发送登陆结束命令login_fished 进入到游戏场景;
下一篇:达达麻将客户端初始化流程