Cocos2D:塔防游戏制作之旅(十八)

在Enemy.m的getDamaged:方法只给你添加如下1行(在if条件内):

[theGame awardGold:200];

现在运行游戏你将注意到你不能放置超出你资源金币的炮塔了.当然杀死敌人可以奖励金币,so你可以继续购买更多的炮塔!这是一个令人惊叹的系统,不是吗?

Cocos2D:塔防游戏制作之旅(十八)

现在,最终,对于一些额外的地方,添加一些酷酷的背景音乐(由Kevin MacLeod制作)和cxfr制作的音效,他们可以使你的游戏更有趣一些!

打开HelloWorldLayer.m并且添加以下修改:

//At the top of the file:
#import "SimpleAudioEngine.h"

//Inside init: (inside the "if" condition)
// 9 - sound
[[SimpleAudioEngine sharedEngine] playBackgroundMusic:@"8bitDungeonLevel.mp3" loop:YES];

//Inside ccTouchesBegan, before instantiating a new Tower object:
[[SimpleAudioEngine sharedEngine] playEffect:@"tower_place.wav"];

//At the beginning of getHpDamage
[[SimpleAudioEngine sharedEngine] playEffect:@"life_lose.wav"];

现在打开Enemy.m并且添加如下几行:

//At the top of the file:
#import "SimpleAudioEngine.h"

//At the beginning of getDamaged:
[[SimpleAudioEngine sharedEngine] playEffect:@"laser_shoot.wav"];

到这为止了 - 你已经完完全全的完成了!编译运行游戏把玩它吧.你难道不喜欢这些流行的声音吗?

接下来该做神马呢?

这里是 sample project 包含上面塔防游戏之旅全部代码的项目.

如果你想要继续改造该项目,脑洞大开没有上限(the sky’s the limit!)!这里有太多你可以改进的地方,这里仅仅是几个主意:

  • 新敌人类型,它们有不同的速度,hp值等等
  • 新炮塔的类型,它们有不同的攻击模式和耗费
  • 对于不同敌人来说的多路径模式
  • 基于配置的不同炮塔的不同关卡

    如果用任何新的cool特性扩展了游戏,或者任何建议和问题,请加入下面的讨论中!

(Cocos2D:塔防游戏制作之旅全篇完)

上一篇:使用memcache处理缓存的三种方案


下一篇:网络编程中几个地址结构与转换(in_addr,sockaddr,sockaddr_in,pcap_addr)