Cocos2d - атлас шрифтов на 32 пункта отображается как бред - PullRequest
0 голосов
/ 06 января 2012

Я пытаюсь получить 32-точечный шрифт на основе атласа шрифтов (созданный с помощью редактора глифов) для отображения в моей игре. Вызов шрифта сделан так:

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

Однако, когда этот ярлык отображается в игре, шрифт отображается совершенно неправильно: по сути, он показывает только части некоторых персонажей, насколько я могу судить. У меня есть другие атласы меньшего размера (8-16 баллов). Если я заменим ошибочное объявление fntFile одним из них, оно будет работать нормально.

У меня также есть другие ярлыки в других местах программы, которые работают, если я не попытаюсь дать им файл шрифта "press_start_2p_lg.fnt". Я попытался воссоздать атлас в редакторе глифов и Hiero, и я даже изменил шрифт внутри атласа просто для того, чтобы убедиться, что все воссоздано, и все безуспешно. Я что-то упускаю?

1 Ответ

0 голосов
/ 06 января 2012

Если изменения не отображаются на симуляторе или устройстве, попробуйте сначала удалить приложение из симулятора или устройства. Также попробуйте Чистую сборку, чтобы убедиться, что все включено в приложение.

Остальные вещи, на которые стоит обратить внимание, - это если вы пытаетесь использовать символы не ASCII. Cocos2D позволяет использовать по умолчанию 2048 символов, чего недостаточно для символов Юникода.

Возможно, вы также захотите открыть файл .fnt в текстовом редакторе и посмотреть, сможете ли вы найти какие-либо очевидные проблемы, например, ссылку на неправильный файл .png.

Мне также интересно, почему вы используете строку NSString stringWithFormat. Приведенная выше строка кода точно такая же, как эта:

CCLabelBMFont *scoreSprite = [CCLabelBMFont labelWithString:@"-" fntFile:@"press_start_2p_lg.fnt"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...