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

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 文件夹

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

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

/

本地化的方式一般有两种形式:
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

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目前是否提供呢,如果没有提供只能自己封装了哦。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值