Pregunta

Estoy buscando mostrar de manera persistente un puntaje de juego en una aplicación de iPhone usando cocos2d. Desactivando el código que cocos2d muestra el FPS en el que se ejecuta la aplicación:

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

Puedo hacer que la puntuación se muestre correctamente, pero parpadea, a pesar de que la aplicación se ejecuta a una velocidad superior a 60 FPS ... ¿Alguna idea?

¿Fue útil?

Solución

Intente usar LabelAtlas en su lugar. Es más rápido (consume mucho menos CPU). Vea el AtlasDemo que viene con la distribución cocos2d para ver cómo usarlo.

Otros consejos

Para cualquiera que pueda estar interesado, terminé usando una etiqueta de cocos2d así:

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

Espero que esto pueda ayudar a alguien más.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top