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 ...
随机推荐
- HeRaNO's NOIP CSP Round Day 2 T1 building
考试的时候居然睡着了... T1的60分做法很明显,3^n枚举每个状态并进行验证 (考试剩十分钟结束的时候我开始打,,不到五分钟就写完了? 暴力(60分) #include<bits/stdc+ ...
- 2019 找钢网java面试笔试题 (含面试题解析)
本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.找钢网等公司offer,岗位是Java后端开发,因为发展原因最终选择去了找钢网,入职一年时间了,也成为了面试官 ...
- 基于OpenGL三维软件开发
实验原理: OpenGL在MFC下编程原理---- Windows操作系统对OpenGL的支持 在Windows下用GDI作图必须通过设备上下文(DeviceContext简写DC)调用相应的函数:用 ...
- JavaWeb第一天--HTML
HTML HTML简介 HTML(Hyper TextMarkupLanguage) 超文本标记语言. 超文本: 超越了文本仅仅展示信息的功能范畴,泛指:图片.有样式的文字.超链接. 标记: 标签. ...
- 利用 AWS DMS 在线迁移 MongoDB 到 Amazon Aurora
将数据从一种数据库迁移到另一种数据库通常都非常具有挑战性,特别是考虑到数据一致性.应用停机时间.以及源和目标数据库在设计上的差异性等因素.这个过程中,运维人员通常都希望借助于专门的数据迁移(复制)工具 ...
- Request和Response。
复习点:1.重定向问题 2.输出字符串到浏览器.3.文件下载需求:1. 页面显示超链接2. 点击超链接后弹出下载提示框3. 完成图片文件下载 Request和Response Request: 1. ...
- Docker09-实战-快速搭建wordpress
目录 wordpress介绍 传统方式搭建wordpress运行环境的弊端 使用Docker快速构建wordpress wordpress介绍 wordpress是使用PHP语言开发的博客平台,用户可 ...
- k8s 之service资源介绍(三)
kubernetes service资源 apiVersion: v1 kind: Service metadata: name: kubia spec: ports: - port: 80 targ ...
- zabbix--钉钉告警
zabbix 钉钉告警机制 群机器人是钉钉群的高级扩展功能,群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步.例如:通过聚合GitHub,GitLab等源码管理服务,实现源码更新同步: ...
- Haproxy 反向代理
一.haproxy介绍 HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性.负载均衡,以及基于TCP和HTTP的应用程序代理. 特点如下: .支持两种代理模式:TCP(四层)和H ...