I'm trying to make a effect using the CCBitmapFontAtlas, here is what I want:
The string say "ABCDEFG" being dispayed one by one, each one won't be displayed until the one before is completely displayed.
And here is what I tried:
-(id) init
{ if( (self=[super init] )) {
label = [CCBitmapFontAtlas bitmapFontAtlasWithString:@"ABC" fntFile:@"bitmapFontTest.fnt"];
[self addChild:label];
CGSize s = [[CCDirector sharedDirector] winSize];
label.position = ccp(s.width/2, s.height/2);
label.anchorPoint = ccp(0.5f, 0.5f);
label.visible = NO; //hide it first
[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES];
}
return self;
}
-(BOOL) ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event
{ CCSprite AChar = (CCSprite) [label getChildByTag:0]; CCSprite BChar = (CCSprite) [label getChildByTag:1]; CCSprite CChar = (CCSprite) [label getChildByTag:2];
id fade_in = [CCFadeIn actionWithDuration:3];
label.visible = YES;
[AChar runAction:fade_in];
[BChar runAction:fade_in];
[CChar runAction:fade_in];
return YES;
}
The effect is the "ABC" will fade in once I touched the screen, then I tried to use the CallFuncND to call the next string to fade in while the current string is displayed. But this seems to make things very complex.
Is there a easier way to get this effect done? Any suggestion will be appreciate.