使用SpriteBuilder制做Cocos2D游戏彻底中文教程(八)

使用SpriteBuilder建立精灵动画(Create sprite animations with SpriteBuilder)

在前面的章节中你已经学习了如何使用SpriteBuilder的时间轴功能建立动画了。接下来,你将学习如何为一个精灵(Sprite)文件添加动画。咱们将给正在等待成为子弹的企鹅建立动画效果。node

添加资源

在右边传送门下载咱们准备的资源包资源包传送门框架

将其解压缩并拖动动画文件夹到您SpriteBuilder项目中。经过右键— Make Smart Sprite Sheet将资源设置为智能精灵表。点击发布按钮,这样SpriteBuilder会为您的精灵表生成纹理。dom

建立一个新的接口文件学习

接下来,在SpriteBuilder中建立一个新的接口文件。称之为WaitingPenguin.ccb并选择Sprite做为根节点。一旦建立了文件,打开它,而后选择第一个动画帧做为新的精灵(默认框架animation/1.png):优化

设置动画

SpriteBuilder提供创建基于帧动画的简单方法:动画

  •  选择您想要进行动画应用的精灵ui

  • 从资源窗格(左)选择全部相关的图像spa

  • 所选图像右击并选择Create Keyframes from Selection.net

根据帧的数量,你将不得不等待几秒钟。而后SpriteBuilder将全部图像添加到您的时间表。下面是一个简单的演练:code

如今你有一个带动画的企鹅了!接下来,让咱们来减小时间轴的长度。设置动画是约4秒。您还须要连接时间轴自己,从而使企鹅闪烁,跳跃在一个无限循环:

如今在加入等待企鹅到以前发布SpriteBuilder项目的游戏场景。

加入企鹅到游戏场景

拖动WaitingPenguin.ccbGameplay.ccb添加三个等待企鹅。确保等待企鹅是内容节点的子节点(不然他们不会与滚动出场景):

如今,发布和运行游戏。你应该看到三个企鹅闪烁和跳跃旁边的投石车:

不一样步化处理的动画

动画看起来还不错-但奇怪的是全部企鹅的动画在彻底相同的时刻执行。这是由于咱们的时间轴已经启动了自动播放,这意味着动画只要物体进入画面就会开始播放。咱们要改变这种情况,经过触发代码中动画的开始操做,而不是使用时间轴的自动播放的设置。

默认的时间轴重命名为BlinkAndJump并关闭自动播放

还要设置自定义类为WaitingPenguin,这样咱们就能够经过添加代码来手动启动动画:

如今,发布您的项目并打开Xcode

添加代码来运行动画

建立一个CCSprite类的子类并命名为WaitingPenguin

如今,咱们要实现didLoadCCB方法,其中将要产生一个随机数,将决定咱们要多长时间后启动动画:

- (void)didLoadFromCCB
{
    // generate a random number between 0.0 and 2.0
    float delay = (arc4random() % 2000) / 1000.f;
    // call method to start animation after random delay
    [self performSelector:@selector(startBlinkAndJump) withObject:nil afterDelay:delay];
}

以后,咱们只须要实现这个方法来启动动画:

- (void)startBlinkAndJump
{
    // the animation manager of each node is stored in the 'userObject' property
    CCBAnimationManager* animationManager = self.userObject;
    // timelines can be referenced and run by name
    [animationManager runAnimationsForSequenceNamed:@"BlinkAndJump"];
}

每一个时间轴能够经过它的名称来启动引用。如今,构建并再次运行该项目:

这样咱们的游戏看起来就更生动了吧~好的,精灵的动画就这样制做完成了!

原文:

https://www.makegameswith.us/tutorials/getting-started-with-spritebuilder/sprite-animation-spritebuilder/

在下一节也是咱们的最后一节中,咱们将讲一些关于细节上的优化,由此来结束咱们的教程!转载请说明出处,wealpan将和您一块儿学习Spritebuilder!谢谢你们!

相关文章
相关标签/搜索