本文转自Quick-Cocos2d-x初学者游戏教程(一)
前言
虽然之前已经写过了很多 Cocos2d-x 相关的教程和文档,但本次却是我第一次接触 Quick,第一次接触 Lua,所以此次的教程本人将站在一个初学者的角度(看到这里是不是想白眼我了,哈哈,别切啊!尽管第一次,但我身边可是有很多 Quick 大神的,廖大大也在旁边办公室,没准撒个娇大神就把他知道的全部要点倾囊相授了啦!),全方位的解析 Quick 的学习过程,并同大家一起学习如何利用 Quick-Cocos2d-x 开发一款属于自己的游戏,包教包会的哦。
好了,那么下面我们就开始进入正题吧。
Quick-Coco2d-x是什么?
首先,想了解 Quick-Coco2d-x 就必须先知道 Cocos2d-x 是什么,不过我想关于 Cocos2d-x 的介绍这里就不用我来废话了吧,毕竟这么牛的游戏引擎还是应该很点名气的吧!
其次,由于 Cocos2d-x 中使用的是 C++ 语言,而 C++ 又对开发人员要求较高,所以逐渐地,开发者们开始将 Cocos2d-x 的 C++ 接口转成了 Lua 接口,从而衍生出了 Cocos2d-lua 的版本。而 Quick(Quick-Coco2d-x)是 Cocos2d-lua 的一个豪华增强和扩展版本,它重写了支持代码、解决了内存泄露和只能使用全局函数做回调等等问题。Quick 能让开发者使用 Lua 这种简单易懂的脚本语言来编写游戏,并大大提高了开发效率。现在廖大大的 Quick 团队也已接手了 Cocos2d-lua 的开发和维护工作,所以未来 Quick 和 Cocos2d-lua 将有望完全合并起来。
本次教程所用 Quick-Coco2d-x 版本为 v3.3 Final,大家可在Cocos引擎中文官网中找到对应的下载地址并安装该程序。
注意:不要把 Quick 安装到根目录,或者带有空格或中文的路径中。另外,Quick-Cocos2d-x 需要 Python 的支持,所以请自行检测你的电脑是否装有Python,方法是在终端中输入 python 命令行,如未安装请先下载安装2.x版本的 Python。
Quick 安装完成后,在它的根目录下可以找到有两个名为setup_mac.sh、setup_win.bat的批处理脚本,它们分别是搭建Mac和 Windows开发环境的脚本,根据自己系统的需要运行相应的脚步,就可以自动为你完成 Quick 环境的配置。在此之后,我们就可以双击安装目录下的 player3 图标(Windows 下桌面上会生成 player 的快捷键),启动 Quick 自带的模拟器了。在该模拟器界面中,我们可以创建、打开、运行项目,同时还能查看很多 Quick 自带的示例项目。
关于 Quick 更多的使用说明可参考安装目录下的 README 文件。
Quick-Coco2d-x开发工具
一般情况下,我们通常都会采用Cocos Code IDE作为开发工具来快速开发游戏,这里Cocos Code IDE是一个基于 Eclipse 的跨平台 IDE,专门为 Cocos2d-x Lua & JavaScript 开发人员准备,通过 IDE 你可以方便的创建游戏工程、编写并且支持在不同平台上调试代码、实时查看代码被改变后的效果,最终直接发布成一个可上架的安装包。
然而,最近学习Quick的时候听同事和很多用户反馈说:Quick-Coco2d-x v3.3 Final这个版本在Cocos Code IDE上还存在一些Bug,并且执行效率也相对较慢。所以在大神的推荐下,本教程我们就不选用Cocos Code IDE作为开发工具了,而是使用另一种高效的方法来完成该跑酷游戏的开发——Sublime + QuickXDev。
当然如果你非要用Cocos Code IDE还是可以的,其安装和使用说明可参考:Cocos Code IDE + Quick-Cocos2d-x 快速开发游戏一文。
开发工具的安装配置
Sublime Text 是一个具有漂亮的用户界面和强大的功能的代码编辑器,也是HTML和散文先进的文本编辑器,它的很多功能都依赖于其强大的插件系统。Sublime Text支持Lua语言,但它本身不具有像代码提示这样的功能,所以要想用Sublime Text快速的开发Quick-Coco2d-x程序,我们就必须安装强大的QuickXDev插件。
Sublime Text的下载地址为:http://www.sublimetext.com/,下载后直接安装即可。
QuickXDev的下载地址为:http://git.oschina.net/lonewolf/QuickXDev,将它下载解压之后重命名为QuickXDev,然后把该QuickXDev文件夹放入到Sublime Text的Packages目录下(可通过Sublime Text->Preferences->Browse Packages打开)。
接着依次打开Preferences->Package Settings->QuickXDev->Settings–Default,如下图所示:
复制该处的内容到Preferences->Package Settings->QuickXDev->Settings–User(此时User是空白的)中,同时在 “quick_cocos2dx_root” 项的后面设置Quick-Coco2d-x的安装路径,如下图所示:
设置完成后,User的内容将会覆盖Default下的设置。
注意:以上路径应为你自己的安装路径,如果是Windows系统,则该处的路径形如:
1
|
"quick_cocos2dx_root"
:
"D:\\Quick\\quick-3.3"
|
新建项目
开发工具准备就绪以后,下面我们就可以开始创建我们的项目了.
首先启动 Quick 下的 player3,在这儿的示例标签下你可以看到很多Quick自带的示例,对于初学者来说,看看这些示例的使用方法会对我们学习Quick有很大的帮助,它也是快速学习Quick极好的教材。其界面如下图所示:
接着我们来新建一个项目,点击界面上的“新建项目”,player会自动切换到新建项目的界面。
设置好新建项目的存放路径,包名,屏幕方向,以及是否复制C++源码等选项后,我们就可以点击右下角的 “Create Project” 按钮创建项目了。这里需要注意的是,如果你的项目不涉及到 C++ 部分,那么可以取消“Copy Source Files”项的勾选,这样可以加快项目的创建速度。
点击 Create Project 按钮后,你会发现右下角的 “Create Project” 按钮变成了“Open..”,同时还会出现一个显示创建项目结果的终端窗口。待终端窗口显示创建完成时,我们就可以点击“Open..”打开项目了。
一个默认创建好的项目其实就是个程序员最熟悉的“Hello World”程序,然后后面我们就可以以这个“Hello World”程序为基础来编写自己的游戏。
每个新建的Quick程序都带了一个控制台窗口,如下图所示。这个控制台窗口是player的输出窗口,它包括了你打印的日志以及崩溃日志,当你的程序报错时,它的输出日志将是很好的检验凭证。
项目目录分析
为了更快更好的学习Quick程序开发,了解其项目结构是很有必要的,所以下面我们就来依次看看引擎和新建项目的目录结构。
引擎目录结构分析
打开 Quick 安装目录,其结构如下图所示:
- build:该目录是 Cocos2d-x 的项目存放目录。
- cocos: 改文件夹中包含了大部分引擎的库文件,其中包括:2d、3d、声音、基础库、数学库、物理库等等一系列相关的类文件。
- docs:该文件夹下包含了引擎的API文档、发布文档(最新版本更改介绍,运行环境要求,编译环境要求及如何运行测试用例的相关命令)、 Cocos编程规范等等文档。我们可以通过它查看引擎的代码API,以及最新版本更改介绍,quick运行环境要求,编译环境要求及如何运行测试用例的相 关命令。里面的文件多是html和md格式的。
- extensions: 其中主要是GUI扩展库.
- external中包含物理引擎第三方库,Box2D和chipmunk;数据库第三方库,sqlite3;网络第三方库,webp,websockets;以及一些其他第三方库,像编码转换库、数据格式库等等。
- licenses里面包含了引擎中用到的各种许可证文件。LICENSE_SpiderMonkey,spider引擎中用到的 SpiderMonkey-JS运行环境,需要此许可证,该许可证适用于MPL/GPL/LGPL几种许可证 LICENSE_chipmunk,LICENSE_JS,LICENSE_lua等等。引擎在这些许可证下可以对相应的源代码进行任意拷贝和修改。
- quick:这个是Quick引擎代码。其中包含了创建各个平台新工程的批处理工具,Quick框架的核心目录,2dx和一些其他依赖的c++文件,模版工程,Quick所带的例子等等Quick的核心文件。
- README.html/README.md:Quick的使用指南,关于Quick的安装、使用、创建等等信息都可以出这里获取,它其实相当于docs内文件的目录。
- setup_mac.sh: 搭建Mac开发环境的脚本。
- setup_win.bat: 搭建Windows开发环境的脚本。
- tools:Quick用做luabinding的工具,可用来导出自定义的C++类。
- version:版本标示。
新项目目录结构分析
打开新建项目的目录,我们来分析下新建项目的目录结构,其结构如下图所示:
- config.json: 项目信息配置文件。
- debug.log: 项目日志,即打印控制台窗口输出的所有日志文件。
- frameworks: 存放Cocos2d-x引擎核心代码及各个平台运行时资源。
- res:存放项目资源的文件夹,也就是说,我们游戏开发中用到的所有图片、字体、音频等资源都放在这里。
- runtime:存放预编译的运行时库。
- src:项目源码所存放文件夹,即游戏中的所有的 .lua 文件都放在这里。
以上目录中 res 和 src 文件夹是比较最要的,开发中我们也只需要对这两个文件夹里的内容进行操作,就可以实现游戏的开发。
在新项目的src文件夹中,现在你是可以看到一些 .lua 文件的,这些就是我们工程的lua代码。接下来我们简单的介绍下src中各项的功能:
- cocos: cocos引擎代码
- framework: quick的核心部分,在Cocos2d-x基础上自己搭建的一套framework
- config.lua: 工程配置文件,包括分辨率适配等信息
- main.lua: 工程入口
- app: 工程的界面等文件,存放我们的游戏代码
- MyApp.lua: 游戏的第一个界面
- scenes: 存放游戏各个场景代码的文件夹
- MainScene: 游戏的第一个场景
在游戏开发中,需要修改和添加界面时,我们只需要在相应的文件夹中添加场景就可以了。
好了,这章就算讲完了,下一章我们将先讲解新建项目各个lua文件的代码结构和使用方法,并开始着手新游戏的开发。