Cocos2d-x CClabelTTF невидимый

В моей игре я использую cclabelttf, чтобы отобразить счет игрока. В конце июля все работало нормально, я ничего не изменил в своем коде, но было следующее: - 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, была ошибка назад, и это было решением. Мне не повезло

Странная часть в моей игре. Сцена, на которой виден один из ярлыков, но только на симуляторе iPhone, но, исходя из этого, я думаю, что это должна быть проблема выравнивания / переноса.

2 ответа

Встретил ту же проблему, нашел решение, которое работает для меня, попробуйте это. изменять _initWithString в CCImage.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);

Всего три (int) слепки.

Может быть, вы можете попробовать это так:

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);
Другие вопросы по тегам