9

我希望使用 cocos2d 在 iPhone 应用程序中持续显示游戏分数。关闭 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 的速度运行......有什么想法吗?

4

2 回答 2

9

对于任何可能感兴趣的人,我最终使用了 cocos2d 标签:

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

希望这可以帮助别人。

于 2008-12-04T00:45:32.283 回答
5

尝试改用 LabelAtlas。它更快(它消耗的 CPU 更少)。请参阅 cocos2d 发行版附带的 AtlasDemo 以了解如何使用它。

于 2008-12-05T22:13:21.450 回答