Quick-Cocos2d-X 核心framework 目录结构与功能介绍
2014-10-21 11:24
267 查看
bin中包含的是一些创建各个平台新工程的批处理,现在Quick-Cocos2dX还不太完善,日后可能会出和Cococs2D-X一样安装后出现一个模版来方便创建。
doc中包含的是Quick-C2DX中的一些文档、API之类。
framework中包含的就是廖哥封装的一些2DX 类用LUA来方便使用,我们以后创建控件也需要从这个中调用。
lib中就是2DX和一些其他依赖的c++文件。
sample中是Quick-2DX所带的三个例子,我一直在用 CoinFlip 这个例子,因为这个例子基本上包含了网游所需的UI。
simulator中是Quick-2DX所提供的一个Player 该Player 可以无需任何开发环境,例如:Xcode 、VS2010 这类的工具,你可以用记事本,或者一些编码工具例如 SubLime Text 来编辑 Lua 文件保存后就可以直接执行,方便了大家去装什么 MAC 虚拟机这些。目前的Player有Windows 和 Mac 这两个平台。
template包含的就是模版工程,可以用来创建模版,不过我一直都是复制例子然后剪裁。。
README_CN 中就是廖哥送给大家的一些文字,看看很有用的哦。
quickcocos2dx framework
Quick-Cocos2d-X 核心framework 目录结构与功能介绍
在前一篇文章 Quick-Cocos2D-X 并成功运行示例代码 中我们介绍了 Windows 下,从下载,熟悉工程包中每个目录的用处,成功使用 Quick-Cocos2d-X
所带的Player成功运行示例代码,并创建工程的快速启动图标。
在本文中,我们将要去了解 Quick-Cocos2d-X 的核心,也就是之前文章中介绍的 famewrok 文件夹中的那些“.lua”。
首先我们打开 framework 文件夹
我们看到了,frameWork 中 有三个文件夹。分别是 clinet(客户端)、server(服务)、shared(共享组件)。没错,整个
Quick-Cocos2d-X 框架就是由这三大部分来组成的。
我们先打开 client
client 中有11个.lua文件和2个文件夹,Cocos2dx 文件夹中包含了:CCLayer、CCNode等等这些类的一些扩展(就是添加了一些框架的方法)。而 API 文件夹中就比较重要了,我们打开API文件夹。
gamenetwork
中目前只有 OpenFeint 他是一个第三方的库,它提供了社交功能,例如:排行榜。
GameState.lua
用于保存游戏的状态,例如:存档,游戏设置。
Localize.lua
用于进行游戏本地化,现在的版本中里面只包含文字的本地化,还没有图片本地化。
/////////////////////////////////////////////////////////////
本地化的方式一般有两种形式:
1. 我们自己在app中提供给用户一个语言选择的功能,例如主界面中有一个“语言选择”的按钮,用户点击后进入一个类似列表的UI中,让用户选择“中文”,“英文”…等语言;当用户选择后我们则让程序中的text信息自动选择对应的语言信息文本即可,(或者用户选择语言后自动从我们的server端下载语言资源包灯),此方式相比而言感觉较笨;
2.当用户进入我们的app时,我们根据当前用户当前移动设备的语言自动将我们的app切换对应语言!(虽然此方法省去了用户的选择,而智能判定,但是用户如果需要使用其他语言进行app的话,需要手动去设置手机语言,此方式则相比于第一种形式感觉又不太方便了,不过一般用户不会这么玩咱们的 = =)
/////////////////////////////////////////////////////////////
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
可以松一口气了,没有 Client 中那么多的组件了。。
Server 中包含了6个.lua 和一个文件夹resty
首先我们还是先来看 resty 中的内容
http.lua
提供了我们需要用到 Http 中的一些相关方法,会有后续介绍。
mysql.lua
提供常用的数据库操作,在Lua中调用的接口。
url.lua
提供了URL的解析相关Lua的接口。
上述的这些组件只是为了方便server调用。
server这块目前鹏飞还没有过多的使用过,过后会陆续添加进来。下面我们来看下shared中提供了哪些组件。
打开 shared
debug.lua
提供了我们在程序中输出log、错误信息,并支持跳转断言等功能方便我们来进行一些错误的查找。
errors.lua
提供了Debug.lua中输出错误信息相关的支持。
functions.lua
提供了我们在Lua中创建一个自定义类的快捷方法class、克隆等功能。重要
json.lua
提供了解析JSON,还有生成JSON的方法。
ModelBase.lua
这个组件提供的功能很实用,它是一个数据模型,可以方便的从表中抽出例如:怪物的属性
,攻击力这种数据。
到这里,我们基本上把
Quick-Cocos2d-X目前所提供的功能都了解了一遍,大家可以看过这个之后了解下您所需要的功能,Quick-2D-X目前是否提供呢,如果没有提供只能自己封装了哦。
doc中包含的是Quick-C2DX中的一些文档、API之类。
framework中包含的就是廖哥封装的一些2DX 类用LUA来方便使用,我们以后创建控件也需要从这个中调用。
lib中就是2DX和一些其他依赖的c++文件。
sample中是Quick-2DX所带的三个例子,我一直在用 CoinFlip 这个例子,因为这个例子基本上包含了网游所需的UI。
simulator中是Quick-2DX所提供的一个Player 该Player 可以无需任何开发环境,例如:Xcode 、VS2010 这类的工具,你可以用记事本,或者一些编码工具例如 SubLime Text 来编辑 Lua 文件保存后就可以直接执行,方便了大家去装什么 MAC 虚拟机这些。目前的Player有Windows 和 Mac 这两个平台。
template包含的就是模版工程,可以用来创建模版,不过我一直都是复制例子然后剪裁。。
README_CN 中就是廖哥送给大家的一些文字,看看很有用的哦。
quickcocos2dx framework
Quick-Cocos2d-X 核心framework 目录结构与功能介绍
在前一篇文章 Quick-Cocos2D-X 并成功运行示例代码 中我们介绍了 Windows 下,从下载,熟悉工程包中每个目录的用处,成功使用 Quick-Cocos2d-X
所带的Player成功运行示例代码,并创建工程的快速启动图标。
在本文中,我们将要去了解 Quick-Cocos2d-X 的核心,也就是之前文章中介绍的 famewrok 文件夹中的那些“.lua”。
首先我们打开 framework 文件夹
我们看到了,frameWork 中 有三个文件夹。分别是 clinet(客户端)、server(服务)、shared(共享组件)。没错,整个
Quick-Cocos2d-X 框架就是由这三大部分来组成的。
我们先打开 client
client 中有11个.lua文件和2个文件夹,Cocos2dx 文件夹中包含了:CCLayer、CCNode等等这些类的一些扩展(就是添加了一些框架的方法)。而 API 文件夹中就比较重要了,我们打开API文件夹。
gamenetwork
中目前只有 OpenFeint 他是一个第三方的库,它提供了社交功能,例如:排行榜。
GameState.lua
用于保存游戏的状态,例如:存档,游戏设置。
Localize.lua
用于进行游戏本地化,现在的版本中里面只包含文字的本地化,还没有图片本地化。
/////////////////////////////////////////////////////////////
本地化的方式一般有两种形式:
1. 我们自己在app中提供给用户一个语言选择的功能,例如主界面中有一个“语言选择”的按钮,用户点击后进入一个类似列表的UI中,让用户选择“中文”,“英文”…等语言;当用户选择后我们则让程序中的text信息自动选择对应的语言信息文本即可,(或者用户选择语言后自动从我们的server端下载语言资源包灯),此方式相比而言感觉较笨;
2.当用户进入我们的app时,我们根据当前用户当前移动设备的语言自动将我们的app切换对应语言!(虽然此方法省去了用户的选择,而智能判定,但是用户如果需要使用其他语言进行app的话,需要手动去设置手机语言,此方式则相比于第一种形式感觉又不太方便了,不过一般用户不会这么玩咱们的 = =)
/////////////////////////////////////////////////////////////
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
可以松一口气了,没有 Client 中那么多的组件了。。
Server 中包含了6个.lua 和一个文件夹resty
首先我们还是先来看 resty 中的内容
http.lua
提供了我们需要用到 Http 中的一些相关方法,会有后续介绍。
mysql.lua
提供常用的数据库操作,在Lua中调用的接口。
url.lua
提供了URL的解析相关Lua的接口。
上述的这些组件只是为了方便server调用。
server这块目前鹏飞还没有过多的使用过,过后会陆续添加进来。下面我们来看下shared中提供了哪些组件。
打开 shared
debug.lua
提供了我们在程序中输出log、错误信息,并支持跳转断言等功能方便我们来进行一些错误的查找。
errors.lua
提供了Debug.lua中输出错误信息相关的支持。
functions.lua
提供了我们在Lua中创建一个自定义类的快捷方法class、克隆等功能。重要
json.lua
提供了解析JSON,还有生成JSON的方法。
ModelBase.lua
这个组件提供的功能很实用,它是一个数据模型,可以方便的从表中抽出例如:怪物的属性
,攻击力这种数据。
到这里,我们基本上把
Quick-Cocos2d-X目前所提供的功能都了解了一遍,大家可以看过这个之后了解下您所需要的功能,Quick-2D-X目前是否提供呢,如果没有提供只能自己封装了哦。
相关文章推荐
- [Quick-Cococs2DX] Quick-Cocos2D-X学习 (二) Quick-Cocos2d-X 核心framework 目录结构与功能介绍
- [quick-cocos2d-x lua学习] 框架详细介绍(二) 核心framework
- quick-cocos2d-x教程7:程序框架内framework目录分析
- JBoss目录结构说明和功能介绍
- quick-cocos2d-x API 文档之------framework.display 与显示图像、场景有关的功能
- (转载)cocos2d-X学习之引擎源码目录结构介绍
- Cocos2d-X游戏【泰然网《跑酷》】JS到C++移植2:如何新建一个项目,引擎目录结构介绍
- 常规功能和模块自定义系统(cfcmms)—006Extjs的目录结构和mvvm介绍
- quick-Cocos2d/framework/display.lua(这个组件提供的功能是很重要的,包括场景、层、精灵、动画这些游戏中必要的组件)
- 游戏开发随手记:Cocos2d-html5:目录结构简单介绍
- quick-cocos2d-x API 文档之------framework.display 与显示图像、场景有关的功能
- cocos2d-X学习之引擎源码目录结构介绍
- VBA处理文件框架代码 【第六部分:目录结构,框架功能介绍】
- tomcat文件目录结构及功能介绍
- JBoss目录结构说明和功能介绍
- cocos2d-X学习之引擎源码目录结构介绍
- Android Studio - 目录结构 和 常用功能介绍 浅析
- JBoss目录结构说明和功能介绍
- Linux系统目录结构说明及功能介绍
- linux目录结构介绍