Ich möchte wissen, was ich anstelle vonCocos2d - animationwithframes: Verzögerung: veraltet
animationWithFrames:delay:
und
actionWithAnimation:restoreOriginalFrame:
verwenden sollten, da sie eine Warnung, dass sie veraltet habe.
Ich möchte wissen, was ich anstelle vonCocos2d - animationwithframes: Verzögerung: veraltet
animationWithFrames:delay:
und
actionWithAnimation:restoreOriginalFrame:
verwenden sollten, da sie eine Warnung, dass sie veraltet habe.
Cocos2d 2.0 verwendet
CCAnimation
+(id) animationWithSpriteFrames:(NSArray*)frames delay:(float)delay
CCAnimate
+(id) actionWithAnimation: (CCAnimation*)anim
Docs:
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
Gute Antwort, aber es fehlt ein Detail der zweiten Hälfte der OP-Frage. Insbesondere müssen Sie auch die Eigenschaft 'restoreOriginalFrame' der Animation so einstellen, dass sie mit der zuvor in der veralteten Version angegebenen Eigenschaft übereinstimmt. Siehe Julios Antwort unten. (BTW, doc-Links funktionieren nicht mehr.) – Dalmazio
Die einzige Änderung, die Sie vornehmen müssen, ist die neue Eigenschaft: restoreOriginalFrame.
Entfernen restoreOriginalFrame vom Konstruktor dann in einer neuen Zeile, setzen Sie die Eigenschaft:
animation.restoreOriginalFrame = NO;
Das ist es!
Dies ist die richtige Antwort für die zweite Hälfte der OP-Frage. Das Festlegen der 'restoreOriginalFrame' -Eigenschaft der Animation entsprechend der zuvor angegebenen Eigenschaft ist ein wichtiges Detail, das die akzeptierte Antwort verfehlt. – Dalmazio
CCAnimation *sampleAnim = [CCAnimation animationWithAnimationFrames:
sampleAnimFrames delayPerUnit:0.2f loops:7];
Ich habe das gleiche Problem in meinem Projekt, das ich benutze.
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]];
Das funktioniert gut für mich.
Überprüfen Sie die CCDexprecated.h und. M-Dateien, um zu erfahren, wie veralteter Code geschrieben werden sollte – LearnCocos2D