cocos creator麻将教程系列(四)—— 达达麻将客户端初始化流程
达达麻将客户端初始化流程
达达麻将版图
客户端代码结构
1: scripts文件夹下:
(1) 3rdparty: 第三方代码 socket-io;
(2) Comonents: 游戏中挂到节点上的组件;
(3)全局对象:在代码的根目录下;
loading场景
1: Loading Scene 挂载了脚本: LoadingLogic.js
2: 加载场景初始化过程:
(1): 初始化全局的管理对象,全部记录到 cc.vv这个表里面, 特点: cc.vv.userMgr = new UserMgr() 对象实例是小写开头,代码是大写开头,全局唯一只有一个; initMgr: UserMgr, ReplayMgr, HTTP, Global, Net, GameNetMgr, AnysdkMgr, VoiceMgr, AudioMgr, Utils, 解析url的参数,来决定不同的用户账号
(2)显示几秒的开机画面;
(3)检查更新;
(4)startPreloading: 预加载资源 resources/textures;
(5)加载完成后,进入”login”场景;
Login场景
1: login场景挂载了login.js脚本;
(1)扩展了String对象.format()函数;
(2)监听:push_need_create_role, 进入创建角色创景;
(3)如果不是网页,那么隐藏游客登陆按钮;
(4)如果保存了微信账号在本地直接自动登陆;
(5)微信账号登陆响应;
(6)游客账号登陆;
游客的登陆逻辑
1:获取url里用户的参数,如果有,就用用户传的参数;
2: 获取本地的存储的用户,如果没有,就根据时间随机生成一个;
3: 发送游客登陆请求到服务器;
userMgr发到账号服务器上的响应地址: /guest
4: 账号服务器响应:返回OK和登陆的用户,大厅的ip地址;
5: userMgr: login函数,
发送请求给大厅服务器 client_server.js提供: /login
服务器返回登陆信息
保存用户信息到userMgr;
进入到大厅场景;
如果没有用户,进入到创建角色场景,创建完角色以后,又再重新登陆一次;
创建角色场景
1:场景挂载了脚本代码代码 CreateRole;
(1)随机的生成一个名字;
(2)随机函数绑定到随机按钮;
(3)确定按钮:userMgr创建用户create函数
2:创建角色:
发送请求给 hallserver --> client_service.js --> “/create_user”;
返回信息继续走原来登陆的流程;
下一篇:达达麻将开房间