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 に答える