Estoy tratando de agregar varias etiquetas que aparecen secuencialmente con un retraso de tiempo entre cada una. Las etiquetas mostrarán 0 o 1 y el valor se calcula aleatoriamente. Estoy funcionando con el siguiente código:insertando el retraso de tiempo con cocos2d
for (int i = 0; i < 6; i++) {
NSString *cowryString;
int prob = arc4random()%10;
if (prob > 4) {
count++;
cowryString = @"1";
}
else {
cowryString = @"0";
}
[self runAction:[CCSequence actions:[CCDelayTime actionWithDuration:0.2] ,[CCCallFuncND actionWithTarget:self selector:@selector(cowryAppearWithString:data:) data:cowryString], nil]];
}
el método que hace que las etiquetas aparecen es el siguiente:
-(void)cowryAppearWithString:(id)sender data:(NSString *)string {
CCLabelTTF *clabel = [CCLabelTTF labelWithString:string fontName:@"arial" fontSize:70];
CGSize screenSize = [[CCDirector sharedDirector] winSize];
clabel.position = ccp(200.0+([cowries count]*50),screenSize.height/2);
id fadeIn = [CCFadeIn actionWithDuration:0.5];
[clabel runAction:fadeIn];
[cowries addObject:clabel];
[self addChild:clabel];
}
El problema con este código es que todas las etiquetas aparecen en el mismo momento con el mismo retardo . Entiendo que si uso [CCDelayTime actionWithDuration:0.2*i]
el código funcionará. Pero el problema es que también podría necesitar iterar todo este ciclo for y hacer que las etiquetas aparezcan nuevamente después de que aparecieron la primera vez. ¿Cómo es posible que las acciones aparezcan con retraso y las acciones no siempre siguen el mismo orden o las mismas iteraciones?
qué marco estás importando para esto? – luca590