1. //1、
  2. //cocos 程序开始运行时执行的函数
  3. bool AppDelegate::applicationDidFinishLaunching()
  4. {
  5. // initialize director
  6. auto director = Director::getInstance();
  7. director->setProjection(Director::Projection::_2D);
  8.  
  9. // turn on display FPS
  10. director->setDisplayStats(true);
  11.  
  12. // set FPS. the default value is 1.0/60 if you don't call this
  13. director->setAnimationInterval(1.0 / );
  14. director->startAnimation();
  15.  
  16. // register lua engine
  17. auto engine = LuaEngine::getInstance();
  18. ScriptEngineManager::getInstance()->setScriptEngine(engine);
  19. lua_State* L = engine->getLuaStack()->getLuaState();
  20. lua_module_register(L);
  21.  
  22. // If you want to use Quick-Cocos2dx-Community, please uncomment below code
  23. quick_module_register(L);
  24.  
  25. LuaStack* stack = engine->getLuaStack();
  26. // stack->setXXTEAKeyAndSign("2dxLua", "XXTEA");
  27.  
  28. //主要来看下这部分:
  29. StartupCall *call = StartupCall::create(this);
  30. call->startup();
  31.  
  32. return true;
  33. }
  34.  
  35. //2、
  36. void StartupCall::startup()
  37. {
  38. auto engine = LuaEngine::getInstance();
  39. auto stack = engine->getLuaStack();
  40.  
  41. const ProjectConfig &project = _app->_project;
  42.  
  43. // set search path
  44. // 设置工程搜索路径
  45. string path = FileUtils::getInstance()->fullPathForFilename(project.getScriptFileRealPath().c_str());
  46. size_t pos;
  47. while ((pos = path.find_first_of("\\")) != std::string::npos)
  48. {
  49. path.replace(pos, , "/");
  50. }
  51. size_t p = path.find_last_of("/");
  52. string workdir;
  53. if (p != path.npos)
  54. {
  55. workdir = path.substr(, p);
  56. // Lua 代码文件的搜索需要包含src
  57. stack->addSearchPath(workdir.c_str());
  58. // cc.FileUtils的文件搜索去掉src目录
  59. size_t p = workdir.find_last_of("/");
  60. workdir = path.substr(, p);
  61. FileUtils::getInstance()->addSearchPath(workdir);
  62. }
  63.  
  64. // load framework
  65. if (project.isLoadPrecompiledFramework())
  66. {
  67. const string precompiledFrameworkPath = project.getPrecompiledFrameworkPath();
  68. stack->loadChunksFromZIP(precompiledFrameworkPath.c_str());
  69. }
  70.  
  71. // load script
  72. string env = "__LUA_STARTUP_FILE__=\"";
  73. env.append(path);
  74. env.append("\"");
  75. engine->executeString(env.c_str());
  76.  
  77. CCLOG("------------------------------------------------");
  78. CCLOG("LOAD LUA FILE: %s", path.c_str());
  79. CCLOG("------------------------------------------------");
  80. engine->executeScriptFile(path.c_str());
  81.  
  82. // track start event
  83. trackLaunchEvent();
  84. }
  85.  
  86. //跟踪启动事件
  87. void StartupCall::trackEvent(const char *eventName)
  88. {
  89. #if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
  90. const char *platform = "win";
  91. #elif (CC_TARGET_PLATFORM == CC_PLATFORM_MAC)
  92. const char *platform = "mac";
  93. #else
  94. const char *platform = "UNKNOWN";
  95. #endif
  96.  
  97. HTTPRequest *request = HTTPRequest::createWithUrl(NULL,
  98. "http://www.google-analytics.com/collect",
  99. kCCHTTPRequestMethodPOST);
  100. request->addPOSTValue("v", "");
  101. request->addPOSTValue("tid", "UA-84326395-1");
  102. request->addPOSTValue("cid", Native::getOpenUDID().c_str());
  103. request->addPOSTValue("t", "event");
  104.  
  105. request->addPOSTValue("an", "player");
  106. request->addPOSTValue("av", cocos2dVersion());
  107.  
  108. request->addPOSTValue("ec", platform);
  109. request->addPOSTValue("ea", eventName);
  110.  
  111. request->start();
  112. }

player: 初始化分析的更多相关文章

  1. JVM学习四:JVM之类加载器之初始化分析

    在经过了前面的加载  和 连接分析之后,这一节我们进入重要的初始化分析过程: 一.认识初始化 初始化:这个似乎与上面的初始化为默认值有点矛盾,我们再看一遍:为累的静态变量赋予正确的初始值,上面是赋予默 ...

  2. sparkContext之一:sparkContext的初始化分析

    Spark源码学习:sparkContext的初始化分析 spark可以运行在本地模式local下,可以运行在yarn和standalone模式下,但是本地程序是通过什么渠道和这些集群交互的呢?那就是 ...

  3. Ztack学习笔记(2)-系统初始化分析

    main函数先执行初始化工作,包括硬件.网络层.任务等的初始化. 一 系统初始化 系统初始化函数主要完成内存分配.消息队列头.定时器.电源管理.任务系统及内存栈等的初始化,具体如下代码所示: //os ...

  4. cc2530操作任务系统初始化分析

    操作系统任务初始化void osalInitTasks( void ){ uint8 taskID = 0; // 分配内存,返回指向缓冲区的指针 tasksEvents = (uint16 *)os ...

  5. Android 5.0 Phone初始化分析

    已经更新至个人blog:http://dxjia.cn/2015/07/android-5-0-phone-init-analysis/ persistent属性 要想了解phone的框架,首先需要了 ...

  6. socket相关的开机初始化分析

    针对内核3.9 系统开启时,会使用init/main.c,然后再里面调用kernel_init(),在里面会再调用do_basic_setup(),调用do_initcalls(),调用do_one_ ...

  7. STM32_3 时钟初始化分析

    在startup文件中,调用了2个函数,一个是System_Init, 另一个是main. System_Init()在system_stm32f10x.c 这个文件中,先看一下时钟树,再分析一下这个 ...

  8. Android编译系统环境过程初始化分析【转】

    本文转载自:http://blog.csdn.net/luoshengyang/article/details/18928789 Android源代码在编译之前,要先对编译环境进行初始化,其中最主要就 ...

  9. quick player运行分析

    mac应用从AppController.mm源文件的applicationDidFinishLaunching函数启动: . - (void)applicationDidFinishLaunching ...

随机推荐

  1. HeRaNO's NOIP CSP Round Day 2 T1 building

    考试的时候居然睡着了... T1的60分做法很明显,3^n枚举每个状态并进行验证 (考试剩十分钟结束的时候我开始打,,不到五分钟就写完了? 暴力(60分) #include<bits/stdc+ ...

  2. 2019 找钢网java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.找钢网等公司offer,岗位是Java后端开发,因为发展原因最终选择去了找钢网,入职一年时间了,也成为了面试官 ...

  3. 基于OpenGL三维软件开发

    实验原理: OpenGL在MFC下编程原理---- Windows操作系统对OpenGL的支持 在Windows下用GDI作图必须通过设备上下文(DeviceContext简写DC)调用相应的函数:用 ...

  4. JavaWeb第一天--HTML

    HTML HTML简介 HTML(Hyper TextMarkupLanguage) 超文本标记语言. 超文本: 超越了文本仅仅展示信息的功能范畴,泛指:图片.有样式的文字.超链接. 标记: 标签. ...

  5. 利用 AWS DMS 在线迁移 MongoDB 到 Amazon Aurora

    将数据从一种数据库迁移到另一种数据库通常都非常具有挑战性,特别是考虑到数据一致性.应用停机时间.以及源和目标数据库在设计上的差异性等因素.这个过程中,运维人员通常都希望借助于专门的数据迁移(复制)工具 ...

  6. Request和Response。

    复习点:1.重定向问题  2.输出字符串到浏览器.3.文件下载需求:1. 页面显示超链接2. 点击超链接后弹出下载提示框3. 完成图片文件下载 Request和Response Request: 1. ...

  7. Docker09-实战-快速搭建wordpress

    目录 wordpress介绍 传统方式搭建wordpress运行环境的弊端 使用Docker快速构建wordpress wordpress介绍 wordpress是使用PHP语言开发的博客平台,用户可 ...

  8. k8s 之service资源介绍(三)

    kubernetes service资源 apiVersion: v1 kind: Service metadata: name: kubia spec: ports: - port: 80 targ ...

  9. zabbix--钉钉告警

    zabbix 钉钉告警机制 群机器人是钉钉群的高级扩展功能,群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步.例如:通过聚合GitHub,GitLab等源码管理服务,实现源码更新同步: ...

  10. Haproxy 反向代理

    一.haproxy介绍 HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性.负载均衡,以及基于TCP和HTTP的应用程序代理. 特点如下: .支持两种代理模式:TCP(四层)和H ...