`
edisonleeym
  • 浏览: 17221 次
  • 性别: Icon_minigender_1
  • 来自: 湖南长沙
社区版块
存档分类
最新评论

如何使用cocos2d-x制作一个山寨Angry Birds游戏:第一部分

阅读更多
注:本教程由Ray博客上的教程"微创新"而来,望笑纳。(我会分三个教程来发布)



在此之前,我有几点需要说明一下。

首先,这是我的第一篇山寨教程,而且我将尝试使用cocos2d-x来演绎,以后Ray出的教程,我都将采用这种方式,避免不必要的版权纠纷,同时给国内广大cocos2d-x爱好者提供一些资源。

其次,所有教程里的内容我都将亲测,免得因为版本问题而导致实践起来有困难。

再次,跟以往不同的是,我不会把Ray的原文全部翻译出来,文章的编排方式也和Ray的有所不同。我会尽量以我自认为还比较合理的方式来组织教程的内容。我将追求一种比较简单,易懂,易上手的方式,让大家花最少的时间学到最有用的知识。

最后,关于开发环境的说明。我将采用的是Mac+Xcode,对于没有Mac的童鞋,用VS2010也一样的。只是一些操作界面上的差异,代码完全没有差异。这也算是cocos2d-x的一大亮点吧----跨平台!

好了,废话就不多说了,让我们开始吧!





首先,下载cocos2d-x,有两种方式。第一种方式,打开浏览器,输入:http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Download,然后下载cocos2d-1.0.1-x-0.9.1 @ Aug 17, 2011这个版本。第二种方式(推荐的方式),使用git。关于git的用法,大家可以上网去搜索一下。还没有安装git的童鞋可以去http://code.google.com/p/git-osx-installer/downloads/list?can=3,直接下载最新版即可。安装好git之后,打开终端(Terminal),输入下面的命令:

git clone https://github.com/cocos2d/cocos2d-x.git,然后在你的home目录下面,就可以看到一个cocos2d-x的文件夹了。打开之,目录结果如下所示:



然后,让我们开始安装cocos2d-x(如果是直接从cocos2d-x官网下载的童鞋,下面的过程也一样的。使用git的好处是,以后不用重新下载,只需要打开termical,然后cd 到cocos2d-x目录下面,然后输入命令:git pull就可以了,可以节省大量的下载时间。)安装cocos2d-x非常简单,具体过程如下:

1.打开terminal,然后cd到cocos2d-x目录下面

2. 然后输入ls,看看这个目录下面有什么东西。(这一步不是必须的)

3.输入./install-templates-xcode.sh -u –f,然后回车。

具体如下图所示:



4.然后会出现下面的提示:



如果你使用的是xcode3,就输入3,如果是使用xcode4,就输入4.如果两个都使用,那就什么也不输入,直接回车。安装成功的标志符是,最后出现两个done!done!如下图所示:

因为我xcode3和xcode4都安装了,所以,我选择什么也不输入,直接回车。



补充:我这里的截图里面出现了两个错误,不过关系不大,如果大家不想得到类似的错误信息的话,就可以输入sudo ./install-templates-xcode.sh,注意这里不再需要-u了,-u是安装到用户目录下面,-f是强制重新安装。下面是直接输入sudo ./install-templates-xcode.sh的结果图。







好了,cocos2d-x安装好了,让我们进入今天的主题吧。首先要新建一个项目,选择iOS分类下面的cocos2d-x,然后选择cocos2d_box2d,然后点击Next:











然后把工程命名为CuteAPultCocos2d-x,如下图所示:



然后点击Next,接着出现下面的屏幕:





你可以新建一个文件夹,专门用来保存你所有的游戏项目。这里,我使用的是IosGameRepository,记得把下面的Source Control复选框去掉,因为,我将教大家手动使用git来做源码管理。最后点击Create,这样我们的工程就创建好了。运行一下,你会看到下面的截屏:







接下来,我将教大家使用git来做本地的源代码管理工作。打开ternimal,然后cd到你的IosGameRepository目录下面去,然后cd到CuteAPultCocos2d-x目录下面:(下面是我的操作截屏)





然后开始输入下面的命令来创建一个新的git仓库:

然后你会看到一大堆的输出,然后你的仓库就建立好啦:)这时,有的童鞋可能就要问了,花这么大力气做这些干什么,我要学的是"怎么制作山寨AngryBirds!我要用它赚大钱!"。别急,接下来,我向大家演示一下git仓库的神奇用处。有同学不小心用xcode删除了一个文件,然后此文件并没有出现在垃圾箱中,然后再也找不到了,哭着到处找人求救。。。别怕,有了git,你再也不用为这种事情烦恼了,呵呵。首先,打开xcode,然后在HelloWorldScene.cpp上面右键,在弹出菜单中选择delete,然后会出现下面的屏幕:



如果你选择Remove Reference Only,那么文件并没有删除,你打开工程所在的文件夹,还是可以看到。只是在Xcode的项目管理里面看不到了,你还是可以通过右键点工程名字,然后添加进来。这里我们选择Delete,然后你再打开工程目录,看看是什么情况:





这时,你发现在HelloWorldScene.cpp真的没有了,于是,你去回收站里去找找:





555555555555555。。。。。空空如也!

别怕,我们有git!打开ternimal,输入git status,可以查看当前仓库的状态:







然后,有没有看到deleted:CuteAPultCocos2d-x/Classes/HelloWorldScene.cpp这条消息,这表示你刚刚删除了此文件,现在我们要把这个文件找回来。接下输入命令:git checkout CuteAPultCocos2d-x/Classes/HelloWorldScene.cpp

现在,刚刚删除的这个文件又回来啦,哈哈,牛叉吧!现在再把此文件添加进去,右键点Classes,然后点Add Files to "CultAPultCococs2d。。。",如下图:



然后把刚刚这个文件添加进去。

好了,这里,我只是向大家演示了一些最基础的git的用法,如果大家对git感兴趣的话,可以上网再查一些资料学习一下。推荐大家看http://progit.org/book/ 上面的内容。 最后,让我们在terminal中输入git tag ProjectTemplate,给现在版本打个标签。这个功能可以方便写教程的时候出多个版本供读者下载,而不用保存每个版本的副本。如果要得到某个tag,则git checkout –b ProjectTemplate,然后再把工程目录下的文件打包就是ProjectTemplate这个版本啦。如果你后面做了修改,比如Final版本,就先git tag Final,然后git checkout –b Final。但是,记得在每次打tag之前,先用git stage,git commit –m '本次修改的消息'。如果这里现在还看不太懂,先不管,跳过去。后面的文章中,我会穿插这些内容,你照着做就可以了。

注意:每次切换版本的时候,最好关闭xcode。如果不小心没有关闭的话,打开xcode的时候,可能出现schema丢失的情况,这时候,只需要再关闭xcode,重新再打开即可。还有一点,如果大家对于这种命令行操作方式感觉不舒服的话,可以下载Tower,它是一个图形化的使用git的工具,使用起来非常方便。大家可以上网搜索一下,找个破解版。





Ok,现在我们要开始做山寨小鸟游戏啦!





一、清除模板
    首先,打开HelloWorldScene.cpp,然后把下面的代码删除:

1.void HelloWorld::addNewSpriteWithCoords(CCPoint p)
2.在HelloWorld::HelloWorld()方法中)删除//setIsAccelerometerEnabled( true ); 我这里用的注释的方法。
3.void HelloWorld::ccTouchesEnded(CCSet* touches, CCEvent* event)


最后我们把下面的代码删除:



同时,别忘了把HelloWorldScene.h中的两个函数的声明注释掉,如下图所示:





这时编译并运行,然后我们会得到下面截屏幕:





接下,打开terminal,输入git stage *,然后输入git commit -m 'clean up'。





这时候 输入命令:git tag CleanUp 我在后面紧接着输入了git tag –l,这个命令是查看所有的tag。现在我们有两个tag。还记得我们之前的项目吗,点击鼠标,可以掉下来很多方块。现在我们已经把代码注释掉了,有些还删除掉了。我们要把之前的东西找回来。接着,我向大家演示一下tag的妙用。



首先,我们把工程关掉,因为我要来个"时光旅行",回到之前我们的版本。依次输入命令:

1. git checkout -b CleanUp (这句话的意思是新建一个分支)

2. git status (查看一下当前仓库的状态)如果输出:

# On branch ProjectTemplate

nothing to commit (working directory clean)

那么就跳到第3步

如果没有,就输入

git stage *

git commit –m 'some message'

如下图所示:





3.git checkout ProjectTemplate



这时候,你再打开项目并运行,你会得到下面的截图:







然后关闭xcode,这时输入git status:

刚刚我们什么也没更改,但是,还是显示有更改,信息如下:





这是什么原因呢?因为xcode每次启动的时候都会自动创建xcuderdata目录, 我们不用管它,直接git stage *,

然后git commit –m '消息'就可以了,后面记得带-m 加入信息。



然后git checkout CleanUp,然后再打开工作并运行,就会有如下截图:











如果你又想回到之前的版本,你可以git stage *,

然后git checkout ProjectTemplate。

这时候,你再打开工程,运行之,你会看到刚开始时候的工程了:









讲了这么多,感觉好复杂啊。中间有些过程可能还有些细微的问题,我给大家总结一下git的用法吧。



git init初始化一个git仓库

git add * 把当前目录下所有的文件(含文件夹)加入到仓库中,仓库里的文件有任何的修改,git都会知道。

git status 查看当前工作区的状态

git commit 提交修改到工作区中

git tag tagname 创建一个tag,如果加参数l就是列出所有的tag,加-d 就是删除相应的tag

git checkout branchName就是切换分支

git branch branchName就是创建一个分支,名字为branchName

git checkout –b branchName 等价于下面两句

1.git branch branchName

2.git checkout branchName

git stage * 确认当前修改,只有确认了修改才能提交到仓库中去

git add filename,把某个文件添加进仓库

git rm filename,把某个文件删除

更多有关git的用法,请大家参考progit.org吧。大家也可以上网搜索一下git的用法。

声明:如果大家不喜欢命令行的方式,推荐搜索tower,下面我给出tower的下载地址,里面含破解方法:http://dl.dbank.com/c0zzihyb5o。



非常抱歉,我的处女山寨之作变得如此之又臭又长。如果有什么问题,请留言告诉我。我的git和cocos2d-x都刚开始学。以后大家一起探讨,一起进步。



要留言?请点击传送门!



著作权声明:本文由 子龙山人(http://www.cnblogs.com/andyque) 原创,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢!
0
1
分享到:
评论

相关推荐

    Cocos2d-x实战:JS卷——Cocos2d-JS开发

    资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用Cocos2d-JS中核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、性能优化、多平台...

    Cocos2d-x 3.x游戏开发实战pdf含目录

    Cocos2d-x 是一个开源的、跨平台的2D游戏开发框架,广泛应用于iOS、Android、Windows等多平台的游戏开发。3.x版本是其发展中的一个重要阶段,引入了多项优化和新特性,旨在提高开发效率和性能。 本书首先会介绍...

    Cocos2d-x实战:C++卷(2版)源代码

    Cocos2d-x是一个开源的、跨平台的游戏开发框架,广泛应用于iOS、Android、Windows等多个操作系统。本书以C++语言为主要编程语言,提供了丰富的实践案例和源代码,帮助读者深入理解和掌握Cocos2d-x的使用。 在Cocos...

    cocos2d-x windows vs2010配置

    Cocos2d-x 是一个跨平台的游戏引擎,可以在多种平台上运行,包括 Windows、Mac OS X、iOS、Android 等。 一、下载和安装 Cocos2d-x 首先,需要下载最新版本的 Cocos2d-x。打开浏览器,输入 cocos2d-x.org,然后...

    经典版本 方便下载 源码 旧版本 3.8 官网找不到了 cocos2d-x-3.8.zip

    cocos2d-x 是一个跨平台的游戏开发框架,它基于C++,同时提供了Lua和JavaScript的绑定,让开发者可以方便地在多种操作系统上创建2D游戏、演示程序和其他图形交互应用。这个“cocos2d-x-3.8.zip”压缩包包含的是cocos...

    Cocos2d-x 3.x制作2048

    在《Cocos2d-x 3.x制作2048》这本书中,作者详细介绍了使用Cocos2d-x 3.0版本,通过C++语言开发2048游戏的全过程。2048是一款非常流行的数字拼接游戏,玩家需要通过滑动屏幕上下左右来移动数字卡片,相同数字的卡片...

    cocos2d-x-cocos2d-x-2.2.2.zip

    这个压缩包“cocos2d-x-cocos2d-x-2.2.2.zip”包含了cocos2d-x 的2.2.2版本,该版本是cocos2d-x发展中的一个重要里程碑,它提供了许多改进和优化,使得开发者能够更加高效地创建2D游戏和应用。 在cocos2d-x 2.2.2中...

    cocos2d-x-3.1.zip

    Cocos2d-x是一个开源的游戏开发框架,广泛用于2D游戏、实时渲染应用程序和其他互动内容的制作。这个压缩包“cocos2d-x-3.1.zip”包含了Cocos2d-x框架的3.1版本,这是一个经典且相对旧的版本,可能对于那些寻找历史...

    Cocos2d-x实战C++卷关东升著完整版pdf

    Cocos2d-x是一个开源的、跨平台的2D游戏开发框架,广泛应用于iOS、Android、Windows等多个操作系统。本书以C++语言为主要编程工具,详细介绍了如何利用Cocos2d-x进行游戏开发。 首先,Cocos2d-x的基础知识是必须...

    cocos2d-x-3.13.1 spine3.6.zip

    Cocos2d-x是一个广泛使用的开源游戏开发框架,它基于C++,同时支持Lua和JavaScript等多种脚本语言,为开发者提供了高效、跨平台的游戏开发解决方案。在3.13.1版本中,Cocos2d-x对Spine动画引擎的集成进行了更新,这...

    cocos2d-x 3.0

    cocos2d-x 3.0是cocos2d-x系列的一个重要升级,它基于C++编写,支持跨平台开发,包括iOS、Android、Windows等多个操作系统。该版本引入了新的渲染系统、性能提升、新的动画系统以及更友好的API,极大地提高了开发...

    Cocos2d-x实战++JS卷++Cocos2d-JS开发+PDF电子书下载+带书签目录+完整

    1. Cocos2d-x:是一个开源的游戏开发框架,它主要用于开发跨平台的游戏和应用程序,支持iOS、Android、Windows、Mac等多个平台。它允许开发者使用一套代码,就可以在不同的操作系统上部署应用程序。 2. 实战++JS卷...

    cocos2d-x 动画工具 Flash2Cocos2d-x 1.3

    而Flash2Cocos2d-x则是一个专为cocos2d-x设计的动画工具,它使得开发者能够将Flash内容轻松地转换为可以在cocos2d-x上运行的游戏资源,极大地提高了开发效率和内容创作的灵活性。 Flash2Cocos2d-x 1.3版本是这个...

    cocos2d-x游戏源码 三国策略游戏源码

    cocos2d-x是一个开源的游戏开发框架,它基于cocos2d-x,用于创建2D游戏、演示程序和其他图形/交互式应用程序。cocos2d-x是用C++编写的,但同时也支持Lua和JavaScript作为脚本语言,使得开发者可以根据自己的喜好选择...

    cocos2d-x_v3.16安装及环境变量配置文档

    cocos2d-x 是一个开源的游戏开发框架,使用 C++ 语言编写,支持多平台发布,包括 iOS、Android、Windows、macOS、Linux 和 Web。cocos2d-x v3.16 是该框架的一个版本号,本文档主要介绍了该版本的安装流程以及环境...

    Cocos2d-x实战 JS卷 Cocos2d-JS开发

    《Cocos2d-x实战 JS卷 Cocos2d-JS开发》是一本深入探讨Cocos2d-x游戏引擎JavaScript版本使用的专业书籍。Cocos2d-x是全球范围内广泛采用的游戏开发框架,尤其适用于2D游戏的制作,而Cocos2d-JS则是其JavaScript接口...

    大富翁手机游戏开发实战基于Cocos2d-x3.2引擎

    资源名称:大富翁手机游戏开发实战基于Cocos2d-x3.2引擎内容简介:李德国编著的《大富翁手机游戏开发实战(基于 Cocos2d-x3.2引擎)》使用Cocos2d-x游戏引擎技术,带领读者一步一步从零开始进行大富翁移动游戏的开发...

    Cocos2d-x实战 JS卷

    Cocos2d-x是一个开源的游戏开发框架,广泛应用于移动设备和桌面平台,支持iOS、Android、Windows等多平台。它基于C++,但提供了包括JavaScript在内的多种绑定语言,使得开发者可以使用自己熟悉的语言进行游戏开发。 ...

    Cocos2D-X游戏开发技术精解

    资源名称:Cocos2D-X游戏开发技术精解内容简介:Cocos2D-X是一款支持多平台的 2D手机游戏引擎,支持iOS、Android、BlackBerry等众多平台。当前,很多移动平台流行的游戏,都是基于Cocos2D-X开发的。 《Cocos2D-X...

    cocos2d-x-2.1.4.rar

    cocos2d-x 是一个跨平台的2D游戏开发框架,它为开发者提供了强大的工具和技术支持,使得游戏开发变得更为便捷。2.1.4 版本是这个框架的一个重要里程碑,它在前一版本的基础上进行了一系列的优化和改进,提升了性能,...

Global site tag (gtag.js) - Google Analytics