Вопрос

Я хочу постоянно отображать счет игры в приложении для iPhone с помощью cocos2d. Отключение кода, который Cocos2d показывает FPS, на котором работает приложение:

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

Я могу заставить счет отображаться правильно, но он мерцает, даже если приложение работает быстрее 60 FPS ... Есть идеи?

Это было полезно?

Решение

Попробуйте вместо этого использовать LabelAtlas. Это быстрее (он потребляет гораздо меньше ресурсов процессора). Посмотрите AtlasDemo, который поставляется с дистрибутивом cocos2d, чтобы узнать, как его использовать.

Другие советы

Для всех, кому это может быть интересно, я использовал Cocos2d Label следующим образом:

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

Надеюсь, это может помочь кому-то еще.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top