l'insertion de délai avec cocos2d
Je suis en train d'ajouter plusieurs étiquettes qui apparaissent de manière séquentielle avec un temps de retard entre chaque. Les étiquettes d'affichage de 0 ou 1, et la valeur est calculée de façon aléatoire. J'exécute le code suivant:
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]];
}
la méthode qui rend les étiquettes apparaissent est-ce:
-(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];
}
Le problème avec ce code, c'est que toutes les étiquettes apparaissent au même moment avec le même délai. Je comprends que si j'utilise [CCDelayTime actionWithDuration:0.2*i]
le code fonctionne. Mais le problème c'est que je pourrais aussi besoin de parcourir cette ensemble de la boucle for et ont les étiquettes apparaissent de nouveau après qu'ils sont apparus la première fois. comment est-il possible d'avoir des actions apparaissent avec retard et les actions ne suivent toujours dans le même ordre ou d'itérations???
- quel cadre êtes-vous à l'importation pour cet?
Vous devez vous connecter pour publier un commentaire.
Peut-être que je ne comprends pas vraiment ce que vous voulez faire. Mais si vous avez besoin d'un contrôle lors de vos étiquettes (pour itérer quelque chose) faire quelque chose comme ceci:
Le problème, c'est que vous êtes planification de toutes les actions à déclencher en même temps.
Changer
pour
devrait résoudre votre problème