Quick-Cocos2d-x初学者游戏教程1
Quick-Coco2d-x安装:
Quick 安装完成后,在它的根目录下可以找到有两个名为setup_mac.sh、setup_win.bat的批处理脚本,它们分别是搭建Mac和Windows开发环境的脚本,根据自己系统的需要运行相应的脚步,就可以自动为你完成 Quick 环境的配置。在此之后,我们就可以双击安装目录下的 player3 图标(Windows 下桌面上会生成 player 的快捷键),启动 Quick 自带的模拟器了。在该模拟器界面中,我们可以创建、打开、运行项目,同时还能查看很多 Quick 自带的示例项目。
关于 Quick 更多的使用说明可参考安装目录下的 README 文件
注意:不要把 Quick 安装到根目录,或者带有空格或中文的路径中。另外,Quick-Cocos2d-x 需要 Python 的支持,所以请自行检测你的电脑是否装有Python,方法是在终端中输入
python
命令行,如未安装请先下载安装2.x版本的 Python。
Quick-Coco2d-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系统,则该处的路径形如:"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 安装目录,其结构如下图所示:
- 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: 游戏的第一个场景
在游戏开发中,需要修改和添加界面时,我们只需要在相应的文件夹中添加场景就可以了。
Quick-Cocos2d-x初学者游戏教程1的更多相关文章
- 【Cocos2D研究院之游戏开发】
http://www.xuanyusong.com/archives/category/ios/cocos2d_game 分类目录归档:[Cocos2D研究院之游戏开发] 201211-19 Co ...
- Android 游戏教程让人物动起来
在这里给大家分享Android游戏教程怎样让人物动起来,话不多说了,直接进入正题. 一. 准备工作 首先要准备好要使用的人物动作图和地形图.把它分割成16个不同的动作,循环播放同一行的4个不同 ...
- Cocos2D:塔防游戏制作之旅(十八)
在Enemy.m的getDamaged:方法只给你添加如下1行(在if条件内): [theGame awardGold:200]; 现在运行游戏你将注意到你不能放置超出你资源金币的炮塔了.当然杀死敌人 ...
- C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例
C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例 Unity中循环遍历每个数据,并做出判断 很多时候,游戏在玩家做出判断以后,游戏程序会遍历玩家身上大量的所需数据,然后做出判断,即首先判 ...
- C#开发Unity游戏教程之判断语句
C#开发Unity游戏教程之判断语句 游戏执行路径的选择——判断 玩家在游戏时,无时无刻不在通过判断做出选择.例如,正是因为玩家做出的选择不同,才导致游戏朝着不同的剧情发展,因此一个玩家可以对一个游戏 ...
- C#开发Unity游戏教程之游戏对象的行为逻辑方法
C#开发Unity游戏教程之游戏对象的行为逻辑方法 游戏对象的行为逻辑——方法 方法(method),读者在第1章新建脚本时就见过了,而且在第2章对脚本做整体上的介绍时也介绍过,那么上一章呢,尽管主要 ...
- C#开发Unity游戏教程之使用脚本变量
C#开发Unity游戏教程之使用脚本变量 使用脚本变量 本章前面说了那么多关于变量的知识,那么在脚本中要如何编写关于变量的代码,有规章可循吗?答案是有的.本节会依次讲解变量的声明.初始化.赋值和运算. ...
- C#开发Unity游戏教程之游戏对象的属性变量
C#开发Unity游戏教程之游戏对象的属性变量 Unity游戏对象的属性——变量 通过对上一章的学习,读者应该了解到了,游戏对象上的属性与脚本中的变量,建立联系的方式就是将脚本赋予游戏对象.上一章只是 ...
- Phaser3跟随自定义路径移动的赛车 -- iFIERO游戏教程
racingcar 在线预览:http://www.ifiero.com/uploads/phaser/pathrotate/代码: var config = { type: Phaser.AUT ...
随机推荐
- 浏览器中Javascript单线程分析
线程这个特性对于一门语言环境来说是尤其重要的,在Java/C++环境下都提供了多线程API操作. 但在Javascript中据说代码执行时单线程的,大量计算的逻辑会阻塞浏览器HTML渲染,但setTi ...
- Java网络通信初步认知
本文转载自:http://wing011203.cnblogs.com/ 在这篇文章里,我们主要讨论如何使用Java实现网络通信,包括TCP通信.UDP通信.多播以及NIO. TCP连接 TCP的基础 ...
- Nginx 反向代理学习(一)
反向代理apache等http资源 ## Basic reverse proxy server ## upstream apachephp{ server 127.0.0.1:8560; #php5. ...
- alloc
注意,凡是用到指针的地方,一定要在堆中分配空间,否则指针释放了,那就不能够传值了. 将一个对象作为另外一个对象的成员变量,可以直接将两个对象联系起来.
- c#中浅拷贝和深拷贝的理解
c#中拷贝有浅拷贝和深拷贝之分. 例如对象A,其中有值类型字段和引用类型字段: 1.浅拷贝: 对于值类型字段,直接逐位复制到新拷贝的副本对象中,修改副本的字段的值,不会影响源对象中字段的值: 对于引用 ...
- 错误:Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp;的解决
问题: 代码中查询MySQL的结果集时报错,提示Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp;刚开始 ...
- LeetCode Shortest Distance from All Buildings
原题链接在这里:https://leetcode.com/problems/shortest-distance-from-all-buildings/ 题目: You want to build a ...
- 去掉comments
三种comments: /* Test program */ int main() { // variable declaration int a, b, c; /* This is a test m ...
- 原生js下拉菜单
var oDiv = document.getElementById("sunav"); var oLi = oDiv.getElementsByClassName("s ...
- 开源实体映射框架EmitMapper介绍
开源实体映射框架EmitMapper介绍 综述 EmitMapper是一个开源实体映射框架,地址:http://emitmapper.codeplex.com/. Emit ...