当前位置:   article > 正文

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

xhr.hasretried

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

达达麻将版图

 

 

 

客户端代码结构

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)显示几秒的开机画面;    

showSplash:function(callback){

(3)检查更新;    

this.getServerInfo();

(4)startPreloading: 预加载资源 resources/textures;    

(5)加载完成后,进入”login”场景;

注意:官方开源的最新版本,和泄露版本达达麻将(早期版本)相比是有做升级更新的。如下图:1是最新开源,2是早期版本。

在1中:打开游戏,第一个UI界面是start:绑定的脚本是AppStart.js

在2中:打开游戏,第一个UI界面是loading;绑定的JS脚本是LoadingLogic.js

  1. //------------AppStart.js------------
  2. function urlParse(){
  3. var params = {};
  4. if(window.location == null){
  5. return params;
  6. }
  7. var name,value;
  8. var str=window.location.href; //取得整个地址栏
  9. var num=str.indexOf("?")
  10. str=str.substr(num+1); //取得所有参数 stringvar.substr(start [, length ]
  11. var arr=str.split("&"); //各个参数放到数组里
  12. for(var i=0;i < arr.length;i++){
  13. num=arr[i].indexOf("=");
  14. if(num>0){
  15. name=arr[i].substring(0,num);
  16. value=arr[i].substr(num+1);
  17. params[name]=value;
  18. }
  19. }
  20. return params;
  21. }
  22. function initMgr(){
  23. cc.vv = {};
  24. var UserMgr = require("UserMgr");
  25. cc.vv.userMgr = new UserMgr();
  26. var ReplayMgr = require("ReplayMgr");
  27. cc.vv.replayMgr = new ReplayMgr();
  28. cc.vv.http = require("HTTP");
  29. cc.vv.global = require("Global");
  30. cc.vv.net = require("Net");
  31. var GameNetMgr = require("GameNetMgr");
  32. cc.vv.gameNetMgr = new GameNetMgr();
  33. cc.vv.gameNetMgr.initHandlers();
  34. var AnysdkMgr = require("AnysdkMgr");
  35. cc.vv.anysdkMgr = new AnysdkMgr();
  36. cc.vv.anysdkMgr.init();
  37. var VoiceMgr = require("VoiceMgr");
  38. cc.vv.voiceMgr = new VoiceMgr();
  39. cc.vv.voiceMgr.init();
  40. var AudioMgr = require("AudioMgr");
  41. cc.vv.audioMgr = new AudioMgr();
  42. cc.vv.audioMgr.init();
  43. var Utils = require("Utils");
  44. cc.vv.utils = new Utils();
  45. //var MJUtil = require("MJUtil");
  46. //cc.vv.mjutil &
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/145485
推荐阅读
相关标签
  

闽ICP备14008679号