我想知道我应该用什么代替
animationWithFrames:delay:
和
actionWithAnimation:restoreOriginalFrame:
因为他们发出警告说他们已被弃用。
我想知道我应该用什么代替
animationWithFrames:delay:
和
actionWithAnimation:restoreOriginalFrame:
因为他们发出警告说他们已被弃用。
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
您需要做的唯一更改是使用新属性:restoreOriginalFrame。
从构造函数中删除 restoreOriginalFrame,然后在新行中设置属性:
animation.restoreOriginalFrame = NO;
就是这样!
CCAnimation *sampleAnim = [CCAnimation animationWithAnimationFrames:
sampleAnimFrames delayPerUnit:0.2f loops:7];
我在我使用的项目中遇到了同样的问题。
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]];
这对我来说很好。