动画CCSprite

时间:2012-05-15 10:09:10

标签: cocos2d-iphone

我比cocos2d更新并准备我的演示游戏。我正在使用一个像从左到右移动的鸟图像的单个图像从右向左移动精灵。但是我希望通过各种图像来制作精灵,以便它看起来像飞鸟。我不知道如何做到这一点。

这是我的代码:

    CCSprite *target = [CCSprite spriteWithFile:@"Target.png" rect:CGRectMake(0, 0, 27, 40)]
id actionMove = [CCMoveTo actionWithDuration:actualDuration position:ccp(-target.contentSize.width/2, actualY)];
    id actionMoveDone = [CCCallFuncN actionWithTarget:self selector:@selector(spriteMoveFinished:)];
    [target runAction:[CCSequence actions:actionMove, actionMoveDone, nil]];

2 个答案:

答案 0 :(得分:3)

为动画制作特定的精灵你需要在你的资源中使用精灵表。您可以使用我通常使用的Texture PackerZwoptex工具创建精灵表。

接下来,您可以实施以下代码

    CCSpriteBatchNode *sheet = [CCSpriteBatchNode batchNodeWithFile:@"drawing1-i3.png"]; // Png File Name
    [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"drawing1-i3.plist"]; // Plist File Name
    [self addChild:sheet];

        //Generating the Animation 
    NSMutableArray *arr_anim =[NSMutableArray array];
    for(int i=1; i<30; i++) // i< number of frames in the plist File Name
    {
        NSString *str_fileNm = [NSString stringWithFormat:@"drawing1%d.png",i];
        CCSpriteFrame *frame = [[CCSpriteFrameCache sharedSpriteFrameCache]spriteFrameByName:str_fileNm];
        [arr_anim addObject:frame];
    }

    CCSprite *startAnim = [CCSprite spriteWithSpriteFrameName:@"drawing11.png"];
    [startAnim setPosition:ccp(150,150)];
    [self addChild:startAnim];

    //Starting the Animation 
    CCAnimation *animation = [CCAnimation animationWithFrames:arr_anim delay:0.15f];
    // id action =[CCRepeatForever actionWithAction:[CCAnimate actionWithAnimation:animation restoreOriginalFrame:YES]];
    id action =[CCAnimate actionWithAnimation:animation restoreOriginalFrame:NO];   
    [startAnim runAction:action];

我认为它可以帮助您创建动画。

答案 1 :(得分:1)

使用CCAnimation class.

特别是,使用像animationWithFrames:这样的方法,并将图像作为数组提供。