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. springboot maven项目转gradle的完整方法

    1.maven转gradle的方法:在项目根目录下,使用命令行工具,输入如下内容: gradle init --type.pom 2.springboot项目的 build.gradle内容示例如下( ...

  2. python3 marshmallow学习

    python3 marshmallow学习 官方文档:https://marshmallow.readthedocs.io/en/stable/ 安装: pip install -U marshmal ...

  3. 模型文件(checkpoint)对模型参数的储存与恢复

    1.  模型参数的保存: import tensorflow as tfw=tf.Variable(0.0,name='graph_w')ww=tf.Variable(tf.random_normal ...

  4. python自动备份阿里云数据库binlog

    #coding:utf8from aliyunsdkcore import clientfrom aliyunsdkrds.request.v20140815 import DescribeBacku ...

  5. python基础06--文件操作

    1.1 文件操作 1.只读(r,rb)     rb以bytes方式读文件 只写(w,wb) 追加(a,ab) r+ 读写 w+ 写读 a+  追加写读 以什么编码方式储存的文件,就用什么编码方式打开 ...

  6. JAVA - Eclipse不能打断点的解决方法

    今天调试eclipse程序,莫名的就遇到这种问题. 解决: 在run菜单里面,把 “skip all breakpoints”  选项勾去即可. 如下图:

  7. setsockopt()函数使用

    closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket BOOL bReuseaddr=TRUE; setsockopt (s,SOL_SOCKET ,SO ...

  8. echarts路径图 绘制上海市52路公交车线路

    busLines = [{"coords":[[121.494687,31.253937],[121.494276,31.254031],[121.494226,31.254042 ...

  9. Odoo仪表盘详解

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826324.html 一:仪表盘与看板的区别 kanban:kanban是一种视图类型,卡片式视图.可以为 ...

  10. css3动画 2D 3D transfrom

    2D transform 例如transform: translate(1px,30px); translate() 方法 translate()方法,根据左(X轴)和顶部(Y轴)位置给定的参数,从当 ...