0

こんにちは、横スクロールの cocos2d ゲームを作成しています。ユーザーがゲーム内でどれだけ飛んだかを示すラベルが必要です。何らかの理由で、私が書いたコードでラベルが表示されません。ラベルを表示するクラス メソッドを呼び出す GameEngine クラスを次に示します。

//Set the meterDistance
    meterDistance = [MeterDistance createTheMeterDistance];
    [self addChild:meterDistance z:10];

MeterDistance クラスのコードは次のとおりです。

    meters = 1;

    meterLabel = [CCLabelBMFont labelWithString:@"0" fntFile:@"green_arcade-ipad.fnt"];
    meterLabel.position = ccp(200, screenHeight - 100);
    [self addChild:meterLabel z:10];
    meterLabel.anchorPoint = ccp(1.0, 0.5);

    [self schedule:@selector(updateLabel:)interval:1.0f/20.0f];

updateLabel メソッドは次のとおりです。

-(void)updateLabel:(ccTime)delta{
meters++;

NSString* scoreString = [NSString stringWithFormat:@"%d", meters];
[meterLabel setString:scoreString];
}
4

1 に答える 1

0

最後に cocos2d コードを扱ってからしばらく経ちました... あなたが書いたものは問題ないようです。

一度に 1 つずつ実行し、どこが間違っているかを確認します。ラベルを画面の中央に配置します (おそらく screenheight がオフになっているか、anchorPoint がラベルを画面の外に移動します)。

別の考えられる原因は、フォント ファイル名が正確に @"green_arcade-ipad.fnt" でない場合です。たぶん、あなたは大文字を逃しましたか?

そうしないと、レイヤーの他の要素がラベルを妨げている可能性があります。

于 2013-08-28T06:28:04.607 に答える