zl程序教程

您现在的位置是:首页 >  其他

当前栏目

《Cocos2d 跨平台游戏开发指南(第2版)》一1.8 让精灵动起来

游戏开发 指南 cocos2d 起来 跨平台 1.8 精灵
2023-09-11 14:17:36 时间

本节书摘来异步社区《Cocos2d 跨平台游戏开发指南(第2版)》一书中的第1章,第1.8节,作者: 【印度】Siddharth Shekar(谢卡)译者: 武传海 责编: 胡俊英,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.8 让精灵动起来

在这一部分,我们将讨论如何让精灵动起来。我们将修改自定义精灵类,让角色动起来。通过提供带有许多图像的Cocos2D,并使之循环通过这些图像,即可产生动画效果。

1.8.1 准备工作

为了让精灵动起来,我们将添加 4 帧动画,并将其应用到 hero 精灵类,通过使用repeatForever动作让图像循环动起来。在下一部分,我们将详细讲解有关动作的内容。

1.8.2 操作步骤

在本章的Resources文件夹中,含有hero帧的普通、ipad、ipadhd版本图像。我们把所有这些图像文件导入到项目中,如图1-23所示。


1_23

在Hero.m文件中,修改initWithFilename文件,如下:

-(id)initWithFilename:(NSString *)filename

 if (self = [super initWithImageNamed:filename]) {


在上述代码中,我们先是创建了一个NSMutableArray类型的新变量,命名为animFramesArray。然后,创建一个for循环,循环变量i从1到4,这是因为总共有4幅图像。通过传入想遍历的4幅图像的名称,我们把动画帧保存到数组之中。

接着,我们创建一个CCAnimation类型的变量,命名为animation,在4个动画帧中进行传递,并且添加延时,设置动画播放时间。

然后,我们创建一个CCActionInterval类型的变量animate,用来通过动画创建一个循环。接着,创建CCAction,调用repeat forever动作,用来不断循环遍历动画。

最后,在当前类上运行动作。

1.8.3 工作原理

现在,你应该能够看到人物角色动起来了,如图1-24所示。动画的播放速度由CCAnimation类的延时进行控制。


1_24

我们将看到自定义精灵让人物角色动起来了,并且没有对MainScene中的实例做任何修改。


异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。