//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: 初始化分析的更多相关文章

  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. 2019 263云通信java面试笔试题 (含面试题解析)

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

  2. 使用MHA实现MySQL主从复制高可用

    一.MHA简介        MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司的youshimaton(现就职于Fac ...

  3. Texture(ASDK)、ComponentKit、LayoutKit、YogaKit

    YogaKit 最轻量,改动量最小,目的最纯粹,同时也最类似于使用 frame ,需要自己造一波在 UITableView 中使用的轮子(各类 frame 结果缓存方案).同类的备选方案是 FlexB ...

  4. JavaSE01:初始Java

    java语言的优势 简单性 面向对象 跨平台性(可移植性) 高性能 分布式 动态性 多线程 安全性 健壮性 java最大的特点是跨平台性 Java的跨平台性来源于Java虚拟机(jvm),Java靠在 ...

  5. android scroller用法及属性

    正文 一.结构 public class Scroller extends Object java.lang.Object android.widget.Scroller 二.概述 这个类封装了滚动操 ...

  6. python中print用法

    print用法 参考文档:https://blog.csdn.net/sinat_28576553/article/details/81154912 目录 一.print()函数概述 二.变量的输出 ...

  7. xadmin引入django-debug-toolbar调试工具

    一.安装: pip install django-debug-toolbar 安装django-debug-toolbar库 https://github.com/jazzband/django-de ...

  8. 一个兼容IE7\IE8,H5的多功能视频播放器,H5视频播放器兼容Flash视频播放器

    这里记录一个视频播放器,免费可适当修改:名称:ckplayer视频播放器(免费) 官网地址:http://www.ckplayer.com/ 下载地址:http://www.ckplayer.com/ ...

  9. Java8的Stream API使用

    前言 这次想介绍一下Java Stream的API使用,最近在做一个新的项目,然后终于可以从老项目的祖传代码坑里跳出来了.项目用公司自己的框架搭建完成后,我就想着把JDK版本也升级一下吧(之前的项目, ...

  10. 《团队名称》第八次团队作业:Alpha冲刺day2

    项目 内容 这个作业属于哪个课程 2016计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十二 团队作业8-软件测试与ALPHA冲刺 团队名称 快活帮 作业学习目标 (1)掌握 ...