2012-01-06 13 views
0

フォントアトラス(グリフエディタで作成)に基づいて32ポイントフォントを取得しようとしています。フォントへの呼び出しは次のように構成されています。そのラベルは、ゲーム内で表示されている場合Cocos2d - 32ポイントのフォントアトラスがぎこちなく表示される

CCLabelBMFont *scoreSprite = [CCLabelBMFont labelWithString:[NSString stringWithFormat:@"-"] fntFile:@"press_start_2p_lg.fnt"]; 

、しかし、フォントは完全に間違って表示されます。それは基本的に唯一の私が言うことができるものから、文字の一部の部品を示しています。私はサイズが小さい他のアトラス(8〜16ポイント)を持っています。問題のfntFile宣言をそれらの1つで置き換えると、正常に動作します。

"press_start_2p_lg.fnt"フォントファイルを与えようとしない限り、プログラムの他の場所にもラベルがあります。私はGlyph EditorとHieroの両方でアトラスを再作成しようとしましたが、アトラス内のフォントを変更して、すべてが再作成されたことを確認しました。私は行方不明のものがありますか?

答えて

0

変更がシミュレータまたはデバイスに表示されない場合は、まずシミュレータまたはデバイスからアプリを削除してみてください。また、クリーンビルドを試して、すべてがアプリに含まれていることを確認してください。

ASCII以外の文字を使用しようとしている場合は注意が必要です。 Cocos2Dはデフォルトで2048文字を許可しますが、これはUnicode文字では十分ではありません。

.fntファイルをテキストエディタで開いて、間違った.pngファイルを参照するなどの明らかな問題がないかどうかを確認することもできます。

なぜNSString stringWithFormatを使用しているのでしょうか。上記のコード行は、これとまったく同じです。

CCLabelBMFont *scoreSprite = [CCLabelBMFont labelWithString:@"-" fntFile:@"press_start_2p_lg.fnt"]; 
関連する問題