1

私のゲームでは、cclabelttf を使用してプレイヤーのスコアを表示します。7 月末には正常に動作していました。コードは何も変更していませんが、以下がありました: - IOS のアップグレード (6.1 から 7.0) - OSX の更新 - cocos2d-x
- Xcode の更新

Helvetica フォントは使用していません。

スコアを表示するフローティング テキストがあります。テロリストを殺すと、「+10」という文字列が浮かんで消えます。「+10」と書くと、表示されます。それ以外の場合は表示されません。

ccimage.mm のテキストの配置を からUITextAlignmentLeftと同じに変更しようとしましたがNS

次の行のコメントを外します。

if( [font isKindOfClass:[UIFont class] ] )
{
    [str drawInRect:CGRectMake(0, startH, dim.width, dim.height) withFont:font lineBreakMode:(UILineBreakMode)UILineBreakModeWordWrap alignment:align];
}

cococs2d-x フォーラムでこれらの変更を読みましたが、それよりも前にバグがあり、これらが解決策でした。私には運がありません。

奇妙な部分は私のgameSceneにありますが、ラベルの1つが表示されますが、iPhoneシミュレーターでのみ表示されますが、これから始めると、配置/ラッピングの問題であるに違いないと思います.

4

2 に答える 2

4

同じ問題に遭遇し、解決策がうまくいくことがわかりました。これを試してください。の次の行を変更_initWithStringCCImage.mmます。

CGContextRef context = CGBitmapContextCreate(data, dim.width, dim.height, 8, dim.width * 4, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);

次のように変更します。

CGContextRef context = CGBitmapContextCreate(data, (int)dim.width, (int)dim.height, 8, (int)dim.width * 4, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);

たったの3(int)キャスト。

于 2014-01-14T10:23:11.237 に答える
0

多分あなたはこのようにそれを試すことができます:

CCLabelTTF*  YouClassName::stringNewLine(string orgStr,CCSize sizeTable,const char* fontName,float fontSize){
CCLabelTTF *m_label_content = CCLabelTTF::create( "hello", fontName, fontSize ,sizeTable, kCCTextAlignmentCenter, kCCVerticalTextAlignmentCenter);

m_label_content->setString(orgStr.c_str());
return m_label_content;
}

そして、このように使用します

CCLabelTTF * ttf = stringNewLine("test",CCSizeMake(200,200), "Arial", 28);
于 2013-11-04T03:41:45.700 に答える