player: 初始化分析
- //1、
- //cocos 程序开始运行时执行的函数
- bool AppDelegate::applicationDidFinishLaunching()
- {
- // initialize director
- auto director = Director::getInstance();
- director->setProjection(Director::Projection::_2D);
- // turn on display FPS
- director->setDisplayStats(true);
- // set FPS. the default value is 1.0/60 if you don't call this
- director->setAnimationInterval(1.0 / );
- director->startAnimation();
- // register lua engine
- auto engine = LuaEngine::getInstance();
- ScriptEngineManager::getInstance()->setScriptEngine(engine);
- lua_State* L = engine->getLuaStack()->getLuaState();
- lua_module_register(L);
- // If you want to use Quick-Cocos2dx-Community, please uncomment below code
- quick_module_register(L);
- LuaStack* stack = engine->getLuaStack();
- // stack->setXXTEAKeyAndSign("2dxLua", "XXTEA");
- //主要来看下这部分:
- StartupCall *call = StartupCall::create(this);
- call->startup();
- return true;
- }
- //2、
- void StartupCall::startup()
- {
- auto engine = LuaEngine::getInstance();
- auto stack = engine->getLuaStack();
- const ProjectConfig &project = _app->_project;
- // set search path
- // 设置工程搜索路径
- string path = FileUtils::getInstance()->fullPathForFilename(project.getScriptFileRealPath().c_str());
- size_t pos;
- while ((pos = path.find_first_of("\\")) != std::string::npos)
- {
- path.replace(pos, , "/");
- }
- size_t p = path.find_last_of("/");
- string workdir;
- if (p != path.npos)
- {
- workdir = path.substr(, p);
- // Lua 代码文件的搜索需要包含src
- stack->addSearchPath(workdir.c_str());
- // cc.FileUtils的文件搜索去掉src目录
- size_t p = workdir.find_last_of("/");
- workdir = path.substr(, p);
- FileUtils::getInstance()->addSearchPath(workdir);
- }
- // load framework
- if (project.isLoadPrecompiledFramework())
- {
- const string precompiledFrameworkPath = project.getPrecompiledFrameworkPath();
- stack->loadChunksFromZIP(precompiledFrameworkPath.c_str());
- }
- // load script
- string env = "__LUA_STARTUP_FILE__=\"";
- env.append(path);
- env.append("\"");
- engine->executeString(env.c_str());
- CCLOG("------------------------------------------------");
- CCLOG("LOAD LUA FILE: %s", path.c_str());
- CCLOG("------------------------------------------------");
- engine->executeScriptFile(path.c_str());
- // track start event
- trackLaunchEvent();
- }
- //跟踪启动事件
- void StartupCall::trackEvent(const char *eventName)
- {
- #if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
- const char *platform = "win";
- #elif (CC_TARGET_PLATFORM == CC_PLATFORM_MAC)
- const char *platform = "mac";
- #else
- const char *platform = "UNKNOWN";
- #endif
- HTTPRequest *request = HTTPRequest::createWithUrl(NULL,
- "http://www.google-analytics.com/collect",
- kCCHTTPRequestMethodPOST);
- request->addPOSTValue("v", "");
- request->addPOSTValue("tid", "UA-84326395-1");
- request->addPOSTValue("cid", Native::getOpenUDID().c_str());
- request->addPOSTValue("t", "event");
- request->addPOSTValue("an", "player");
- request->addPOSTValue("av", cocos2dVersion());
- request->addPOSTValue("ec", platform);
- request->addPOSTValue("ea", eventName);
- request->start();
- }
player: 初始化分析的更多相关文章
- JVM学习四:JVM之类加载器之初始化分析
在经过了前面的加载 和 连接分析之后,这一节我们进入重要的初始化分析过程: 一.认识初始化 初始化:这个似乎与上面的初始化为默认值有点矛盾,我们再看一遍:为累的静态变量赋予正确的初始值,上面是赋予默 ...
- sparkContext之一:sparkContext的初始化分析
Spark源码学习:sparkContext的初始化分析 spark可以运行在本地模式local下,可以运行在yarn和standalone模式下,但是本地程序是通过什么渠道和这些集群交互的呢?那就是 ...
- Ztack学习笔记(2)-系统初始化分析
main函数先执行初始化工作,包括硬件.网络层.任务等的初始化. 一 系统初始化 系统初始化函数主要完成内存分配.消息队列头.定时器.电源管理.任务系统及内存栈等的初始化,具体如下代码所示: //os ...
- cc2530操作任务系统初始化分析
操作系统任务初始化void osalInitTasks( void ){ uint8 taskID = 0; // 分配内存,返回指向缓冲区的指针 tasksEvents = (uint16 *)os ...
- Android 5.0 Phone初始化分析
已经更新至个人blog:http://dxjia.cn/2015/07/android-5-0-phone-init-analysis/ persistent属性 要想了解phone的框架,首先需要了 ...
- socket相关的开机初始化分析
针对内核3.9 系统开启时,会使用init/main.c,然后再里面调用kernel_init(),在里面会再调用do_basic_setup(),调用do_initcalls(),调用do_one_ ...
- STM32_3 时钟初始化分析
在startup文件中,调用了2个函数,一个是System_Init, 另一个是main. System_Init()在system_stm32f10x.c 这个文件中,先看一下时钟树,再分析一下这个 ...
- Android编译系统环境过程初始化分析【转】
本文转载自:http://blog.csdn.net/luoshengyang/article/details/18928789 Android源代码在编译之前,要先对编译环境进行初始化,其中最主要就 ...
- quick player运行分析
mac应用从AppController.mm源文件的applicationDidFinishLaunching函数启动: . - (void)applicationDidFinishLaunching ...
随机推荐
- springboot maven项目转gradle的完整方法
1.maven转gradle的方法:在项目根目录下,使用命令行工具,输入如下内容: gradle init --type.pom 2.springboot项目的 build.gradle内容示例如下( ...
- python3 marshmallow学习
python3 marshmallow学习 官方文档:https://marshmallow.readthedocs.io/en/stable/ 安装: pip install -U marshmal ...
- 模型文件(checkpoint)对模型参数的储存与恢复
1. 模型参数的保存: import tensorflow as tfw=tf.Variable(0.0,name='graph_w')ww=tf.Variable(tf.random_normal ...
- python自动备份阿里云数据库binlog
#coding:utf8from aliyunsdkcore import clientfrom aliyunsdkrds.request.v20140815 import DescribeBacku ...
- python基础06--文件操作
1.1 文件操作 1.只读(r,rb) rb以bytes方式读文件 只写(w,wb) 追加(a,ab) r+ 读写 w+ 写读 a+ 追加写读 以什么编码方式储存的文件,就用什么编码方式打开 ...
- JAVA - Eclipse不能打断点的解决方法
今天调试eclipse程序,莫名的就遇到这种问题. 解决: 在run菜单里面,把 “skip all breakpoints” 选项勾去即可. 如下图:
- setsockopt()函数使用
closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket BOOL bReuseaddr=TRUE; setsockopt (s,SOL_SOCKET ,SO ...
- echarts路径图 绘制上海市52路公交车线路
busLines = [{"coords":[[121.494687,31.253937],[121.494276,31.254031],[121.494226,31.254042 ...
- Odoo仪表盘详解
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826324.html 一:仪表盘与看板的区别 kanban:kanban是一种视图类型,卡片式视图.可以为 ...
- css3动画 2D 3D transfrom
2D transform 例如transform: translate(1px,30px); translate() 方法 translate()方法,根据左(X轴)和顶部(Y轴)位置给定的参数,从当 ...