使用Cocos2d-x-3.0游戏引擎。编写一个塔防游戏 part01

使用Cocos2d-x-3.0游戏引擎。编写一个塔防游戏

全篇完整连接:
第二篇地址:http://www.cocoachina.com/bbs/read.php?tid=202683
第三篇地址:http://www.cocoachina.com/bbs/read.php?tid=202870
第四篇地址:http://www.cocoachina.com/bbs/read.php?tid=203063
第五篇地址:http://www.cocoachina.com/bbs/read.php?tid=203362
第六篇地址:http://www.cocoachina.com/bbs/read.php?tid=203510
第七篇地址:http://www.cocoachina.com/bbs/read.php?tid=203644

游戏设计的主题总是使人们激动。 在我看来,一个学徒级的游戏设计者或者个人看法者应该用一个小的经典事例来分析这会比看纯理论的文章更加具有实用性。在这个系列里,我将想你展示如何使用Cocos2d-x-3.0引擎来编写一个简单的塔防游戏,坦克防御者。当我提及到瓦片地图游戏时,你可能已经知道了一些这一类的经典游戏,或者你只是没有认出他们罢了。这些图片会帮助你记忆起他来。这两个都是瓦片地图游戏。<img title = '00.png' src='http://cdn.cocimg.com/bbs/attachment/Fid_41/41_298631_d2eb7165513eda7.png' > 

在这篇文章中,我将向你展示如何使用瓦片地图编辑器去构建并载入地图。管理不同的图片层和物体层。载入人物并使它动起来。载入你的敌人使它一起动起来。同样也会告诉你如何防卫你自己。

1.Make arrangement:
1.准备工作:

Game Engine: Cocos2d-x-3.0rc0(游戏引擎3.0rc0):
(http://www.cocos2d-x.org/download)
Tile Map Editor-9.1(瓦片地图编辑器9.1):
(http://sourceforge.net/projects/tiled/files/)
VS2012:
(http://www.visualstudio.com/zh-cn/visual-studio-homepage-vs.aspx)
首先,我们需要一个游戏引擎——Cocos2d-x-3.0rc0,用C++、OpenGL和ES 1.1/2.0编写, 可在iOS、安卓、黑莓、Bada、Marmalade、Windows和Windows Phone系统上运行。

接下来我们还需要一个编辑器来写代码并展示结果(我选择使用工具VS2012.)

瓦片地图编辑器:版本9.1。它能够创建你所想要的地图。

瓦片地图材料:用来展示效果和创建地图的图片。

人物/敌人的精灵:表示自己人物和敌人的图片。

音乐:包含背景音乐和不同的效果音。

如果一切顺利,这些音乐及图片资源应当放在Resources文件夹里。

Basic idea:

2.基本思路:

通过上一个例子,小小口袋怪兽,的学习,我们已经知道了一些关于他们如何运转的模式。(像是精灵、菜单、还有瓦片地图)。现在我们将要制作另一个塔防游戏。但首先我们要了解一些有关这款游戏的基本概念。

·当敌人出现,他们会沿着我们事先设计好的路线前进。通常这条路会带着他们到达目的地。(地图的另一侧)

·沿路上,我们可以部署一些坦克拖延并摧毁敌人。当地人进入事业范围后,坦克将会自动侦测敌人的位置并开始向敌人射击。并且你能建造更多的这些坦克来防御越来越多的敌人。

·守住防线。直到消灭最后一波敌人,你就能取得胜利。

未完待续~(一日一更)
Next: http://www.cocoachina.com/bbs/read.php?tid=202683

PS:此次教程难度在上一篇:“小小口袋怪兽”之上,代码会更为复杂。所以如果您是初学者,

建议先阅读上一篇教程:
http://www.cocoachina.com/bbs/read.php?tid=196632

素材Resource见5L。

代码在最后一贴。

:14: 这你是3.0正式版吗?

严格来说不是,rc0版本是在正式版前一周发布的版本,目的是实际测试是否有bug。但事实上并没有太大改动,基本一致。

请问有资源么 楼主

鉴定完毕,谢谢发布

资源在这:

LZ大神,又发教程了,赶紧来学习,LZ辛苦了。

顶大神,学习了,thank you!

每日一顶!

jni/…/…/Classes/Tower.cpp:44:36: error: ISO C++ forbids taking the address of
a bound member function to form a pointer to member function. Say ‘&GunTower::l
ogic’ -fpermissive]
tower->schedule(schedule_selector(logic), 0.2);
^
C:\Users\12\cocos2d\tower\proj.android…/cocos2d/cocos/2d/…/base/CCRef.h:160:7
4: note: in definition of macro ‘schedule_selector’
#define schedule_selector(_SELECTOR) static_castcocos2d::SEL_SCHEDULE(&_SELEC
TOR)

android 编译出现这个问题 不知道怎么解决 win32 已经可以运行了

我的代码里应该是towerLogic,所以可能就是你拼错了导致。
可能你自己改成了logic,试试:tower->schedule(schedule_selector(Tower::logic), 0.2);
多个作用域:Tower:

有没有能运行的源码啊,万一自己写了出错想照着源码对比差错啊。

谢谢~~~~~~~