Quick-Cocos2D-X 并成功运行示例代码

有好多天没有写博文了,今天三国制霸iOS版本进度快结束了。自己也终于有时间继续写博文与大家交流。


今年,中国的手机网游市场很火,很多公司也需要Cocos2d的人才,所以有很多做页游端游的同行也一起加入了手游的大家庭(同时也增加了竞争力)。不过这样也是件好事,有追赶的时候,我们进步的能更快。


   但是,如何能让自己在如此之多的同行之中脱颖而出呢?答案就在今天的这篇博文中,在中国市场的特殊情况下,能够让公司的盈利还是网游,但是如果采用Cocos2d-X来写的话,我们会面对一个问题,现在手机上的APP 每次更新都需要重新下载一遍,根据公司运营的理论来说,每次更新都会损失一批用户,这样对该游戏的收入会有一些影响,网游希望吸引用户,经常更新是必然的。而且iOS平台还有一个更头疼的问题就是审核,每次审核都要小一周的时间。


   所以,为了解决这个问题,我们就需要用到脚本语言,出于Cocos2d-X 本身所使用的语言C++来说,Lua是最好不过的选择了。


   之前在     Lua学习之一  中已经介绍过Lua的特性,在Cocos2d-x 中也有Lua的模版,但是,这个模版有一个不好之处就是,我们要调用一些Cocos2D-X自身的类,而并非自定义类的时候,需要用他的一个工具打一个包并且需要更新.CPP 这其实是很麻烦的,因为Cocos2d的类其中的方法太多了。


   正在寻求更好的方法的时候,看到了 廖宇雷@qee 廖哥开发的一个Quick-Cocos2D-X框架,这个框架中封装了一部分Cocos2D-X中常用的类,而这些类恰恰也是我们开发网游所需要的,现在的手机网游无非就是动画,还有几个标签(说的有些过,不过确实如此)。


   所以,我们大家应该在这个框架刚刚出来的时候就来学习它,在这波浪潮之中能够让所在的公司和自己都分上一杯羹吧。


   这里还是要感谢 廖宇雷@qee 用他多年的经验为我们提供了这个实用的框架!



第一步:

下载Quick-Cocos2d-X工程 这里我已经把工程上传好了,大家直接下载就是了。

   地址:http://down.51cto.com/data/804088

   下载成功后,我们来看一下他的目录:

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 中就是廖哥送给大家的一些文字,看看很有用的哦。


第二步:

   了解了包中每个文件夹的定义后,我们打开 simulator\bin\win32\LuaHostWin32.exe

打开后会出现一个控制台,和一个类似安卓/iOS模拟器的窗口,这里控制台主要来输出Lua中所输出的LOG 例如 CCLuaLog 这个我们后面会讲到,另外一个窗口是用来模拟Cocos2d-X运行时候所输出的画面。

   控制台就不用多说了,我们现在来看下模拟器菜单项中每项的功能。

File:

   New Project 该项目前点击还没有功能,这个应该是为日后快速创建基于Quick-2DX多平台工程所备用。

   Open Project 该项功能可以打开一个Quick-2DX 的项目 我们可以用他来打开sample 中的例子工程。

   Create Project Shortcut 该项可以创建一个快捷方式,这个快捷方式可以保存你当前所打开的项目、项目的信息(分辨率、屏幕横竖),可以让你免去每次打开Player还要去寻找自己的工程,也算个小小的偷懒。

   Project Config 包含了对你当前项目的设置,这个在Open Project的时候也会出现。

   它的功能包括项目路径,入口的Lua文件,模拟器分辨率、显示/隐藏控制台Debug窗口、Lua 包路径等等功能。

   Relaunch 该项的功能是用来重新启动模拟器,简化了iOS、Android 模拟器启动时过长的时间,让代码更改调试变得更加快捷,也印证了它的名字Quick!


View:

   view里面就相对于来说简单容易理解。

   除了上面一些设置分辨率的之外,还有Portrait和Landscape 用来设置横屏和竖屏。

   Reset Zoom 、Zoom Out 来设置窗口显示的大小 可以100%或者50%。


第三步:

   我们点击 File 中的 Open Project 我们来选择 sample下CoinFlip 这个工程。

   Project Setting中,我们除了分辨率外,其他没有设置的必要,因为这个工程就是竖屏的,当然不想看DEbug的同学也可以把 Show Debug Console 上的对号去掉。

   打开工程后看见如下界面就证明你成功了。

MoreGames 中包含了一个场景过渡的动画和一个输入框,这个输入框现在有一个BUG。其实也是因为Cocos2d-X 自身的原因,因为2D-X本身就是在OpenGLView上来绘制游戏内的图像,而像输入框这种都是平台上的控件,所以就造成如果你的过渡动画很慢 (我设置成过渡动画为5秒发现的这个BUG),在动画过程中你就可以点击这个输入框进行操作,这个还希望日后有改善。

   Start中包含了一个ScrollView 还有BMFLabel 和我们常用的菜单Button,这里涉及到了事件函数,plist+png的图片用法,还有关卡的数据结构等。

   到了这里,基本上了解了Quick-2DX 提供的工具的功能,方便我们以后设置的时候不懵。

   目前Quick-2DX 支持使用TexturePacker所生成的plist+png这种图片方式,它本身也封装了一些例如:ui、网络、计费 等模块。可以用Lua来调用方便我们实现完全用Lua去开发一款游戏的理想。

   最后还要感谢廖大个人的无私奉献,使得我们有了一个更快速的开发方式。