Question

I am looking to persistently display a game score in an iPhone app using cocos2d. Going off the code that cocos2d shows the FPS the app is running at:

-(void) showFPS
{
    frames++;
    accumDt += dt;

    if ( accumDt > 0.1)  {
        frameRate = frames/accumDt;
        frames = 0;
        accumDt = 0;
    }

    NSString *str = [NSString stringWithFormat:@"%.1f",frameRate];
    [FPSLabel setString:str];
    [FPSLabel draw];
}

I can get the score to display properly, but it flickers, even though the app is running at faster that 60 FPS... Any ideas?

Was it helpful?

Solution

Try using LabelAtlas instead. It is faster (it consumes much less CPU). See the AtlasDemo that comes with the cocos2d distribution to see how to use it.

OTHER TIPS

For anyone who might be interested, I ended up using a cocos2d Label as so:

scoreLabel = [Label labelWithString: [NSString stringWithFormat:@"%d", score] dimensions: CGSizeMake(180, 20) alignment: UITextAlignmentRight fontName:@"Arial" fontSize: 20];
[scoreLabel setPosition: cpv(100,100)];
[self add: scoreLabel];

Hopefully this can help someone else.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top