cocos creator麻将教程系列(四)—— 达达麻将客户端初始化流程

达达麻将客户端初始化流程

达达麻将版图

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”;    

返回信息继续走原来登陆的流程;

 

 

下一篇:达达麻将开房间