cocos2d sprite永远重复播放动画

lkkeepmoving

在我的iOS游戏中,我希望英雄一直保持运行状态,直到触摸屏幕并且英雄应该跳跃为止。所以我写:
在.h文件中:

@interface Hero : CCSprite {
    CCSprite *_hero;
    id _keepRunning;
}
@property(nonatomic,retain) id keepRunning;

在.m文件中:

@synthesize keepRunning = _keepRunning;
-(id) init {
    _keepRunning = [CCRepeatForever actionWithAction:[CCAnimate actionWithSpriteSequence:@"heroRun%04d.png"
                                                                               numFrames:30
                                                                                   delay:0.02f
                                                                    restoreOriginalFrame:NO]];        
}

然后,当游戏开始时,我调用run()方法:

-(void) run {
    [_hero stopAllActions];
    [_hero runAction:_keepRunning];
    _heroState = RUNNING;
}

然后我发现CCAnimate actionWithSpriteSequence: numFrames: delay: restoreOriginalFrame:在cocos2d v2.0中已弃用。所以我的问题是,在cocos2d v2.0中,如何实现此动画?也就是说,让我的英雄继续前进吗?谢谢!
编辑:
我已经尝试过:

-(CCAnimation*) getMyAnimationWithFramesName:(NSString*)nameFormat numFrames:(int)numFrames delay:(float)delay {
    NSMutableArray *frames = [[NSMutableArray alloc] init];
    for (int i = 1; i <= numFrames; i++) {
        NSString *frameName = [NSString stringWithFormat:nameFormat,i];
        [frames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:frameName]];
    }
    CCAnimation *ani = [CCAnimation animationWithSpriteFrames:frames delay:delay];
    return ani;
}

然后在init()中:

_keepRunning = [self getMyAnimationWithFramesName:@"heroRun%04d.png" numFrames:30 delay:0.02f];

并在运行中():

[_hero runAction:[CCAnimate actionWithAnimation:_keepRunning]];

但这仍然行不通。我应该怎么办?

基里特·莫迪

首先,您从“ http://www.codeandweb.com/texturepacker/download下载Texture,并创建p-List并在下面的代码中使用它

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"AnimatedMan.plist"];

CCSpriteBatchNode *spriteSheet = [CCSpriteBatchNode batchNodeWithFile:@"AnimatedMan.png"];

[self addChild:spriteSheet];

收集帧列表(精灵)

NSMutableArray *walkAnimFrames = [NSMutableArray array];
for (int i=1; i<=6; i++) {
    [walkAnimFrames addObject:
     [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:
      [NSString stringWithFormat:@"step0%d.png",i]]];
}

将动作交给雪碧

CCAnimation *walkAnim = [CCAnimation animationWithSpriteFrames:walkAnimFrames delay:0.1f];

        manSprite=[CCSprite spriteWithSpriteFrameName:@"step01.png"];
        manSprite.position=ccp(winsize.width/2, winsize.height/2-40);

雪碧永远为人类

id first=[CCSequence actions:[CCRepeatForever actionWithAction:
                                      [CCAnimate actionWithAnimation:walkAnim]],nil];

[manSprite runAction:first];

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Cocos2d Spritesheets和动画

来自分类Dev

Sprite框架动画Cocos2d 3.0

来自分类Dev

重复使用相同的Sprite Cocos2d 3.0

来自分类Dev

Cocos2d图像动画不重复

来自分类Dev

Cocos2d Sprite工作表占用大量内存

来自分类Dev

Sprite Kit的size属性的Cocos2d等效项

来自分类Dev

Cocos2d .mp4视频无法播放

来自分类Dev

如何播放背景音乐(Cocos2d iOS)

来自分类Dev

从背景返回时,cocos2d动画停止

来自分类Dev

Cocos2d v3.0-动画精灵

来自分类Dev

在Cocos2d中动画精灵表

来自分类Dev

动画时cocos2d随机处理事件

来自分类Dev

在Sprite Cocos2d上添加box2d主体

来自分类Dev

在Cocos2d中以编程方式循环播放动画,例如在Spritebuilder中将动画链接到自身

来自分类Dev

在Cocos2d中以编程方式循环播放动画,例如在Spritebuilder中将动画链接到自身

来自分类Dev

如何在Cocos2d iOS中播放背景音乐并了解当前播放时间?

来自分类Dev

如何在Cocos2d iOS中播放背景音乐并了解当前播放时间?

来自分类Dev

无法在cocos2d中加载plist动画“未找到动画”

来自分类Dev

Swift版本的Cocos2d代码:sprite1.colorRGBA

来自分类Dev

为什么不能覆盖cocos2d :: sprite的draw方法?

来自分类Dev

在Cocos2D V3中单击时展开的Sprite按钮

来自分类Dev

如何通过SpriteKit(如Cocos2D)使Sprite倾斜/剪切?

来自分类Dev

不断向上和向下移动Sprite Cocos2d 3.0

来自分类Dev

Cocos2d:组成将包含多个Sprite的对象的最佳方法

来自分类Dev

在Cocos2D V3中单击时展开的Sprite按钮

来自分类Dev

如何通过SpriteKit(如Cocos2D)使Sprite倾斜/剪切?

来自分类Dev

在cocos2d v3中播放音频

来自分类Dev

使用cocos2d 2.0的iPhone5S上的旋转动画问题

来自分类Dev

使用cocos2d 2.0的iPhone5S上的旋转动画问题

Related 相关文章

  1. 1

    Cocos2d Spritesheets和动画

  2. 2

    Sprite框架动画Cocos2d 3.0

  3. 3

    重复使用相同的Sprite Cocos2d 3.0

  4. 4

    Cocos2d图像动画不重复

  5. 5

    Cocos2d Sprite工作表占用大量内存

  6. 6

    Sprite Kit的size属性的Cocos2d等效项

  7. 7

    Cocos2d .mp4视频无法播放

  8. 8

    如何播放背景音乐(Cocos2d iOS)

  9. 9

    从背景返回时,cocos2d动画停止

  10. 10

    Cocos2d v3.0-动画精灵

  11. 11

    在Cocos2d中动画精灵表

  12. 12

    动画时cocos2d随机处理事件

  13. 13

    在Sprite Cocos2d上添加box2d主体

  14. 14

    在Cocos2d中以编程方式循环播放动画,例如在Spritebuilder中将动画链接到自身

  15. 15

    在Cocos2d中以编程方式循环播放动画,例如在Spritebuilder中将动画链接到自身

  16. 16

    如何在Cocos2d iOS中播放背景音乐并了解当前播放时间?

  17. 17

    如何在Cocos2d iOS中播放背景音乐并了解当前播放时间?

  18. 18

    无法在cocos2d中加载plist动画“未找到动画”

  19. 19

    Swift版本的Cocos2d代码:sprite1.colorRGBA

  20. 20

    为什么不能覆盖cocos2d :: sprite的draw方法?

  21. 21

    在Cocos2D V3中单击时展开的Sprite按钮

  22. 22

    如何通过SpriteKit(如Cocos2D)使Sprite倾斜/剪切?

  23. 23

    不断向上和向下移动Sprite Cocos2d 3.0

  24. 24

    Cocos2d:组成将包含多个Sprite的对象的最佳方法

  25. 25

    在Cocos2D V3中单击时展开的Sprite按钮

  26. 26

    如何通过SpriteKit(如Cocos2D)使Sprite倾斜/剪切?

  27. 27

    在cocos2d v3中播放音频

  28. 28

    使用cocos2d 2.0的iPhone5S上的旋转动画问题

  29. 29

    使用cocos2d 2.0的iPhone5S上的旋转动画问题

热门标签

归档