当前位置:游戏 > 程序开发

使用Cocos2D制作打鼹鼠游戏(2)

来源:游戏邦 编辑:tina 发布时间:2012年07月19日

免责声明:火星网文章来源于作者原创或整理自互联网,仅为提供更多信息,不代表火星时代同意其观点或描述,版权归原作者所有,如需转载,请联系原作者并注明出处,如涉及作品内容、版权或其他问题,请及时与我们联系,我们将在第一时间予以更改或删除,感谢您的理解和包容!

作者:Ray Wenderlich

在本系列文章的第一部分我们已经创造了游戏的基本要素,即可爱的小鼹鼠能够从洞口中窜出来。我们也投入了大量时间去思考如何整合图像和坐标,从而让游戏能够有效地呈现在iPhone,iPad以及Retina屏幕上。

而在本篇文章中我们将在鼹鼠身上添加一些可爱的动画,让它们不仅能够微笑还能够显现出被敲击的表情;同时还将添加一些游戏玩法让玩家能够敲打鼹鼠而获得分数,并且像其它游戏那样也会在此添加音效。

定义动画:实用性

为了让游戏看起来更加有趣,我们将在鼹鼠身上添加两个动画。首先当它窜出洞口时就会微笑(从而诱导玩家去敲打它!),而当你尝试着去敲打它时,它的脸上将会出现挨打的表情。

不过在正式开始前我想先谈谈如何使用代码去定义我们动画的实用性。

在cocos2d的动画教程中关于创造动画的一大步骤便是创造一列精灵帧。所以对于动画中的每幅不同图像,你都需要在其阵列中添加如下精灵帧:

[animFrames addObject:

[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@”myImage.png”]];

我们的鼹鼠微笑动画将基于这个顺序成形:mole_laugh1.png, mole_laugh2.png mole_laugh3.png, mole_laugh2.png, mole_laugh3.png以及mole_laugh1.png。

所以我们便能以此编写出几行代码去创造动画:

[animFrames addObject:

[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@”mole_laugh1.png”]];

[animFrames addObject:

[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@”mole_laugh2.png”]];

[animFrames addObject:

[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@”mole_laugh3.png”]];

[animFrames addObject:

[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@”mole_laugh2.png”]];

// And so on…

但是如此看来我们的代码稍显凌乱,所以为了让整体看起来更加整洁,我们将代码放置在属性列表中而不是在动画中定义图像代码。

属性列表

如果你从未使用过属性列表,你便可以基于Xcode创建一些特殊文件,分级罗列出阵列,信息库,字符和数字等数据。

让我们看看具体要怎么做。首先我们需要在“资源”文件中右击并选择“Add\New File…”,然后选择“Mac OS X\Resource\Property List”,点击“下一步”。将新文件命名为“laughAnim.plist”并点击“完成”。这时我们便能够看到 laughAnim.plist 的属性列表编辑器,如下所示:

每个属性列表都拥有一个根元素,它可以是一个阵列或者一个信息库。而我们所创建的属性列表则将包含一组构成微笑动画的图像名称,所以我们需要点击根元素(目前是信息库)的第二栏并将其改为阵列。

接下来点击最右边的小按钮(注:如下图,看起来就像三条线的图标),从而在阵列中添加一个新的条目。默认的条目类型是字符,而这也正是我们想要的。将动画中的第一个条目数值改为“mole_laugh1.png”。

点击“+”按钮添加新的一行,并重复添加所有动画帧,如下:


接下来当鼹鼠遭到敲打时我们仍需要重复上述的动画制作过程,并创造出一个名为hitAnim.plist的新属性列表,如下: