在上一章我们讲过了Quick-Cocos2d-x中的环境搭建,这章我们分析下quick中的文件结构吧!打开quick的文件夹,可以看到如下的这些目录和文件:

bin:存放各种与引擎相关的脚本

  • compile_luabingding.shcompile_luabing.bat脚本是用来将cpp文件bind到lua上的脚本。
  • compile_scripts.shcompile_scripts.bat脚本是用来将lua脚本成二进制的,在我们发布版本时,对包进行编译转成二进制防止反编译。
  • create_project.shcreate_project.bat脚本用来创建quick的工程,在quick的player里面我们可以用GUI完成这项工作。
  • make_framework_package.shmake_framework_package.bat脚本是用来生成quick的framework的zip包时使用的。
  • pack_files.batpack_files.sh脚本用来将自己的lua文件打成zip包。
  • lib目录:上述脚本调用的php脚本。quick的底层脚本使用的是php语言,所以大家在使用命令的时候最好还是把php装上。quick在win32环境下自带了php.exe,在mac下需要安装php。
  • mac目录:tolua++工具
  • win32目录:php和luajit等win32上的工具

docs:存放quick的文档

  • api:以html格式存放的api文档
  • logo:quick的logo存放目录
  • apidoc_config.json:文档生成的json配置文件

framework:quick的核心部分,在Cocos2d-x基础上自己搭建的一套framework。

  • api:quick封装的库目录,现在基本里面的接口都改到cc目录下。

    • Context.lua: 存取索引数据,目前已经弃用。
    • EventProtocol.lua: 事件侦听协议,目前已经弃用。推荐使用cc.components.behavior.EventProtocol
    • GameNetwork.lua:第三方游戏平台SDK集成,如:OpenFeint,GameCenter等。现在已经弃用,推荐使用cc.sdk.social
    • GameState.lua:存取游戏数据。现在已经弃用,推荐使用cc.utils.State
    • Localize.lua:游戏本地化,主要是文字的本地华。现在已经弃用,推荐使用cc.utils.Localize
    • Store.lua:提供了游戏内的计费功能。现在已经弃用,推荐使用cc.sdk.pay
    • Timer.lua:这个是基于 2D-X 中 scheduler 计时器的一个扩展,他可以方便的管理各个计时器,并添加了一些方便的功能,例如:100秒的时间,每5秒调用触发一次计时器事件。推荐使用cc.utils.Timer
  • cc:cc扩展在Cocos2d-x C++ API和quick基本模块的基础上,提供了符合脚本风格的事件接口、组件架构等扩展。

    • init.lua:初始化cc扩展
    • GameObject.lua:quick现在使用的一套类似Unity3D的GameObject的框架
    • Registry.lua:quick中GameObject的注册器
    • EventProxy.lua:quick的事件管理器
    • ad:广告平台sdk的封装,目前只有pushbox的接口
    • analytics:游戏统计分析平台的封装,目前只有友盟的接口
    • Component:组件基类,所有组件都要派生自它
    • feedback:反馈SDK的封装,目前只有友盟反馈sdk的接口
    • mvc:quick中的mvc结构,要使用mvc结构的话只需要集成AppBase和ModelBase
    • net:网络接口封装,使用Socket连接
    • push:push SDK封装,目前包含友盟push和cocopush两个push的SDK
    • share:分享SDK封装,目前包含友盟分享SDK
    • ui:quick封装的Cocos2d-x控件,包含:UIGroup、UIImage,UIPushButton,UICheckBoxButton,UICheckBoxButtonGroup,UILabel,UISlider,UIBoxLayout
    • update:自动更新组件的封装,使用的是友盟的更新SDK
    • utils:quick中其他的封装的功能
  • cocos2dx:quick对Cocos2d-x中的扩展
  • platform:平台移植代码
  • audio.lua:音乐、音效管理
  • cocos2dx.lua:导入Cocos2d-x的库
  • crypto.lua:加解密、数据编码库
  • debug.lua:提供调试接口
  • deprecated.lua:定义所有已经废弃的 API
  • device.lua:提供设备相关属性的查询,以及设备功能的访问
  • display.lua:与显示图像、场景有关的功能
  • filter.lua:滤镜功能
  • functions.lua:提供一组常用函数,以及对 Lua 标准库的扩展
  • init.lua:quick framework的初始化
  • json.lua:json的编码与解码
  • luaj.lua:Lua与Java之间的交互接口
  • luaoc.lua:Lua与Objective-c之间的交互接口
  • network.lua:网络接口封装,检查wifi和3G网络情况等
  • schduler.lua:全局计时器、计划任务,该模块在框架初始化时不会自动载入
  • shortcode.lua:一些经常使用的短小的代码,比如设置旋转角度之类
  • transition.lua:为动作和对象添加效果
  • ui.lua:创建和管理用户界面

【转载】Quick-Cocos2d-x文件结构分析的更多相关文章

  1. PNG文件结构分析 ---Png解析

    PNG文件结构分析 ---Png解析   为了实现更高级的应用,我们必须充分挖掘PNG的潜力. PNG的文件结构 根据PNG文件的定义来说,其文件头位置总是由位固定的字节来描述的:   十进制数 13 ...

  2. 【转载】 C#往文件中追加文本内容信息

    在C#的文件相关操作中,往已有的文件中追加相关内容信息也是常有的操作,例如我们在写网站日志文件的时候,很多时候是1天的日志存放在一个txt文件中,此时就涉及到往原有文件中追加写入文本内容信息,追加文本 ...

  3. VS 解决方案文件结构分析

    VS2013 解决方案文件结构分析 Visual Studio 的解决方案文件是一个文本文件,其中的内容不是太复杂,有些时候 Visual Studio 会把这个文件搞乱,理解一下这个文件的结构,对我 ...

  4. PNG文件结构分析

    http://blog.163.com/iwait2012@126/blog/static/16947232820124411174877/ PNG文件结构分析 对于一个PNG文件来说,其文件头总是由 ...

  5. 【转载】C#指定文件夹下面的所有内容复制到目标文件夹下面

    在涉及到文件夹操作的过程中,有时候需要将文件夹下的所有内容复制拷贝到另一个文件夹,在C#的开发中有时候会遇到这个功能需求将指定文件夹下所有的内容复制到另一个文件夹,这个过程需要遍历所有的文件和目录.此 ...

  6. Heritrix源码分析(六) Heritrix的文件结构分析(转)

    本博客属原创文章,欢迎转载!转载请务必注明出处:http://guoyunsky.iteye.com/blog/642618      本博客已迁移到本人独立博客: http://www.yun5u. ...

  7. Cocos2D 指定文件夹创建项目

    参考http://www.cnblogs.com/skynet/p/3428369.html 通过下面的一些改造,可以让新建的cocos2d-x项目独立于cocos2d-x引擎目录: 1)     将 ...

  8. [转载]eclipse中设置文件的编码格式为utf-8

    免责声明:     本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除.     原文作者:ryxxlong     原文地址:http://ryxxlong.iteye ...

  9. 转载:[Java]读取文件方法大全

    转载网址:http://www.cnblogs.com/lovebread/archive/2009/11/23/1609122.html 1.按字节读取文件内容 2.按字符读取文件内容 3.按行读取 ...

随机推荐

  1. 一起写一个Android图片轮播控件

    注:本文提到的Android轮播控件Demo地址: Android图片轮播控件 1. 轮播控件的组成部分 我们以知乎日报Android客户端的轮播控件为例,分析一下轮播控件的主要组成: 首先我们要有用 ...

  2. 【Redis】- 主从复制

    Redis跟MySQL一样,拥有非常强大的主从复制功能,而且还支持一个master可以拥有多个slave,而一个slave又可以拥有多个slave,从而形成强大的多级服务器集群架构. redis的主从 ...

  3. 父类与子类的转换as,is

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  4. 判断IP地址是否在指定范围内的方法

    比如给定一个ip段:127.0.0.1 ~ 127.0.0.255,我们想判断一个给定的ip地址是否在此段内,可以先将ip地址转换成整数,然后整数比较大小就很容易了. 例如: 127.0.0.1 = ...

  5. 数据库时间内接受的是lang类型的时间 分为三种字段 第一种只存日期 第二种存日期+时间 第三种时间戳

    数据库时间内接受的是lang类型的时间 分为三种字段 第一种只存日期 第二种存日期+时间 第三种时间戳

  6. BZOJ4820 SDOI2017硬币游戏(概率期望+高斯消元+kmp)

    容易想到的做法是建出AC自动机,高斯消元.然而自动机上节点数量是nm的. 注意到我们要求的变量只有n个,考虑将其他不用求的节点合并为一个变量.这个变量即表示随机生成一个串,其不包含任何一个模板串的概率 ...

  7. BZOJ4755 JSOI2016扭动的回文串(二分答案+哈希)

    显然答案应该是由单串以某位置为中心的极长回文串继续在另一个串里拓展得到的.枚举中间位置二分答案,哈希判断即可.注意考虑清楚怎么处理偶回文,比如像manacher一样加分隔符. #include< ...

  8. html页面导入文件 使用include后多出一空白行的解决

    用include引入的footer和header文件都在上面多出一空白行,是Unicode签名(bom)引起的. “标题/编码”,把 包括unicode签名(bom) 的勾取消就好了.

  9. [HNOI2007][BZOJ1185] 最小矩形覆盖 [凸包+旋转卡壳]

    题面 BZOJ题面 前置芝士 建议先学习向量相关的计算几何基础 计算几何基础戳这里 思路 用这道题学习一下凸包和旋转卡壳 首先是凸包部分 凸包 求凸包用的算法是graham算法 算法流程如下: 找到$ ...

  10. BZOJ4567:[SCOI2016]背单词——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=4567 Lweb 面对如山的英语单词,陷入了深深的沉思,“我怎么样才能快点学完,然后去玩三国杀呢?” ...