Vorrei sapere cosa devo usare al posto diCocos2d - animationwithframes: Ritardo: deprecati
animationWithFrames:delay:
e
actionWithAnimation:restoreOriginalFrame:
in quanto danno un avvertimento che che sono stati deprecati.
Vorrei sapere cosa devo usare al posto diCocos2d - animationwithframes: Ritardo: deprecati
animationWithFrames:delay:
e
actionWithAnimation:restoreOriginalFrame:
in quanto danno un avvertimento che che sono stati deprecati.
Cocos2d 2.0 utilizza
CCAnimation
+(id) animationWithSpriteFrames:(NSArray*)frames delay:(float)delay
CCAnimate
+(id) actionWithAnimation: (CCAnimation*)anim
Documenti:
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
Buona risposta, ma manca un dettaglio della seconda metà della domanda dell'OP. Nello specifico, è necessario anche impostare la proprietà 'restoreOriginalFrame' dell'animazione in modo che corrisponda a quanto precedentemente specificato nella versione deprecata. Guarda la risposta di Julio qui sotto. (A proposito, i link doc non funzionano più.) – Dalmazio
L'unica modifica che è necessario fare è utilizzare la nuova proprietà: restoreOriginalFrame.
Rimuovere restoreOriginalFrame dal costruttore, poi, in una nuova linea, impostare la proprietà:
animation.restoreOriginalFrame = NO;
Questo è tutto!
Questa è la risposta giusta per la seconda parte della domanda dell'OP. L'impostazione della proprietà 'restoreOriginalFrame' dell'animazione in modo che corrisponda a quanto precedentemente specificato è un dettaglio importante a cui manca la risposta accettata. – Dalmazio
CCAnimation *sampleAnim = [CCAnimation animationWithAnimationFrames:
sampleAnimFrames delayPerUnit:0.2f loops:7];
Ho lo stesso problema nel mio progetto che uso.
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]];
Questo funziona per me.
controlla i file CCDeprecated.h e .m per sapere come scrivere il codice deprecato – LearnCocos2D