8

我想知道我应该用什么代替

animationWithFrames:delay:

actionWithAnimation:restoreOriginalFrame:

因为他们发出警告说他们已被弃用。

4

4 回答 4

12

Cocos2d 2.0 使用

CC动画

+(id) animationWithSpriteFrames:(NSArray*)frames delay:(float)delay

CCAnimate

+(id) actionWithAnimation: (CCAnimation*)anim

文件:

http://www.cocos2d-iphone.org/api-ref/2.0.0/interface_c_c_animation.html

http://www.cocos2d-iphone.org/api-ref/2.0.0/interface_c_c_animate.html

于 2012-06-13T21:53:27.023 回答
11

您需要做的唯一更改是使用新属性:restoreOriginalFrame。

从构造函数中删除 restoreOriginalFrame,然后在新行中设置属性:

animation.restoreOriginalFrame = NO;

就是这样!

于 2012-07-01T11:16:09.927 回答
0
 CCAnimation *sampleAnim = [CCAnimation animationWithAnimationFrames: 
                                     sampleAnimFrames delayPerUnit:0.2f loops:7];
于 2013-02-04T06:18:55.867 回答
0

我在我使用的项目中遇到了同样的问题。

CCSprite *image = [CCSprite spriteWithSpriteFrameName:@"a0001.png"];
        image.position = ccp(s.width/2,s.height/2);
        [self addChild:image];
        image.tag = 1;

        NSMutableArray *frames = [[NSMutableArray alloc] init];
        for (int i = 1; i <= 10; i++) {
            NSString *frameName = [NSString stringWithFormat:@"a%04i.png",i];
            [frames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:frameName]];
        }
        CCAnimation *ani = [CCAnimation animationWithSpriteFrames:frames delay:1.0f/8.0f];
        [image runAction:[CCAnimate actionWithAnimation:ani]];

这对我来说很好。

于 2013-09-19T09:52:10.627 回答