Domanda

Sto cercando di visualizzare in modo persistente un punteggio di gioco in un'app per iPhone usando cocos2d. Disattivando il codice in cui cocos2d mostra l'FPS in cui è in esecuzione l'app:

-(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];
}

Riesco a visualizzare correttamente il punteggio, ma sfarfalla, anche se l'app è in esecuzione a una velocità superiore a 60 FPS ... Qualche idea?

È stato utile?

Soluzione

Prova invece a utilizzare LabelAtlas. È più veloce (consuma molta meno CPU). Guarda AtlasDemo fornito con la distribuzione cocos2d per vedere come usarlo.

Altri suggerimenti

Per chiunque fosse interessato, ho finito per usare un'etichetta cocos2d in questo modo:

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];

Speriamo che questo possa aiutare qualcun altro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top