Quick-Cocos2d-X 核心framework 目录结构与功能介绍

   在前一篇文章 Quick-Cocos2D-X 并成功运行示例代码 中我们介绍了 Windows 下,从下载,熟悉工程包中每个目录的用处,成功使用 Quick-Cocos2d-X 所带的Player成功运行示例代码,并创建工程的快速启动图标。

   在本文中,我们将要去了解 Quick-Cocos2d-X 的核心,也就是之前文章中介绍的 famewrok 文件夹中的那些“.lua”。

   首先我们打开 framework 文件夹

[Quick-Cococs2DX] Quick-Cocos2D-X学习 (二) Quick-Cocos2d-X 核心framework 目录结构与功能介绍_第1张图片

   我们看到了,frameWork 中 有三个文件夹。分别是 clinet(客户端)、server(服务)、shared(共享组件)。没错,整个 Quick-Cocos2d-X 框架就是由这三大部分来组成的。

   我们先打开 client

[Quick-Cococs2DX] Quick-Cocos2D-X学习 (二) Quick-Cocos2d-X 核心framework 目录结构与功能介绍_第2张图片

   client 中有11个.lua文件和2个文件夹,Cocos2dx 文件夹中包含了:CCLayerCCNode等等这些类的一些扩展(就是添加了一些框架的方法)。而 API 文件夹中就比较重要了,我们打开API文件夹。

[Quick-Cococs2DX] Quick-Cocos2D-X学习 (二) Quick-Cocos2d-X 核心framework 目录结构与功能介绍_第3张图片

gamenetwork

   中目前只有 OpenFeint 他是一个第三方的库,它提供了社交功能,例如:排行榜。


GameState.lua

   用于保存游戏的状态,例如:存档游戏设置


Localize.lua

   用于进行游戏本地化,现在的版本中里面只包含文字的本地化,还没有图片本地化


Store.lua

   中提供了游戏内的计费功能。


Timer.lua

   这个是基于 2D-X 中 scheduler 计时器的一个扩展,他可以方便的管理各个计时器,并添加了一些方便的功能,例如:100秒的时间,每5秒调用触发一次计时器事件。


到这里我们就介绍完 API文件夹中的功能了,我们回头看下 client下的其他组件。


audio.lua

   中提供了我们客户端中的背景音乐和音效的播放,音量控制等功能。


crypto.lua

   提供了我们常用的加密 AES、XXTEA、Base64、MD5。


device.lua

   提供了获取当前平台、获取UUID打开URL提示框,这些平台化的功能。


display.lua

   这个组件提供的功能是很重要的,包括场景精灵动画这些游戏中必要的组件,因这个中功能比较重要,后面我会专门来介绍这其中的使用方法。


luaj.lua

   提供了我们在Android平台时调用JAVA,该组件可以调用 JAVA 中的静态方法、JAVA调用Lua的方法、可以带参数


luaOC.lua

   提供了我们在iOS平台时调用Objective-C,该组件可以调用Objective-C中的静态方法,可以带参数。目前还没有Objective-C调用LUA的函数。


network.lua

   提供了发送HTTP请求,目前只是这样 。


scheduler.lua

   提供了2D-X中的一些计时器、回调功能。不过用了这个框架,推荐使用Timer

transition.lua

   提供了我们游戏中常用的Move(移动),Fade(渐变)、Sequcene(动作序列) 等等动作相关的功能。


ui.lua

   提供了游戏中Menu(菜单)、Label(标签)等等用来交互的组件。


由此可见,Clinet 中的组件构成了游戏的显示,网络连接、动画、与平台之间通信,等等功能。那么我们看下 server 中又有什么奥秘呢?


打开server

[Quick-Cococs2DX] Quick-Cocos2D-X学习 (二) Quick-Cocos2d-X 核心framework 目录结构与功能介绍_第4张图片

   可以松一口气了,没有 Client 中那么多的组件了。。

   Server 中包含了6个.lua 和一个文件夹resty

   首先我们还是先来看 resty 中的内容

[Quick-Cococs2DX] Quick-Cocos2D-X学习 (二) Quick-Cocos2d-X 核心framework 目录结构与功能介绍_第5张图片

http.lua

   提供了我们需要用到 Http 中的一些相关方法,会有后续介绍。


mysql.lua

   提供常用的数据库操作,在Lua中调用的接口。


url.lua

   提供了URL的解析相关Lua的接口。

   上述的这些组件只是为了方便server调用。


   server这块目前鹏飞还没有过多的使用过,过后会陆续添加进来。下面我们来看下shared中提供了哪些组件。


   打开 shared

[Quick-Cococs2DX] Quick-Cocos2D-X学习 (二) Quick-Cocos2d-X 核心framework 目录结构与功能介绍_第6张图片

debug.lua

   提供了我们在程序中输出log错误信息,并支持跳转断言等功能方便我们来进行一些错误的查找。


errors.lua

   提供了Debug.lua中输出错误信息相关的支持。


functions.lua

   提供了我们在Lua中创建一个自定义类的快捷方法class、克隆等功能。重要


json.lua

   提供了解析JSON,还有生成JSON的方法。


ModelBase.lua

这个组件提供的功能很实用,它是一个数据模型,可以方便的从表中抽出例如:怪物的属性 ,***力 这种数据。


到这里,我们基本上把 Quick-Cocos2d-X目前所提供的功能都了解了一遍,大家可以看过这个之后了解下您所需要的功能,Quick-2D-X目前是否提供呢,如果没有提供只能自己封装了哦。


CocoStudio   讨论学习群:141444261

Cocos2D-X   讨论学习群:244959010