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

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

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

   首先我们打开 framework 文件夹

014043758.png

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

   我们先打开 client

014102344.png

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

014116602.png

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

014159574.png

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

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

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

014222555.png

http.lua

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


mysql.lua

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


url.lua

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

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


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


   打开 shared

014238361.png

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