2010-11-19 3 views
20

Как использовать пользовательские шрифты TTF в моих iPhone-приложениях Cocos2d?Использование пользовательских шрифтов в Cocos2d

+0

Я сделал все это и не могу заставить его работать на устройстве, ТОЛЬКО на симуляторе! Как мне заставить его работать на устройстве? – 2010-12-31 15:17:57

+0

Я опубликовал Q & A, который решает большинство подводных камней, возникающих при использовании пользовательского шрифта в cocos2d. Проверьте это, если у вас возникли проблемы с добавлением пользовательских шрифтов в ваш проект. (http://stackoverflow.com/questions/14508675/how-can-i-add-a-font-to-my-cocos2d-ios-project-and-use-it-with-a-cclabelttf) – RLH

ответ

54

Я искал это какое-то время и решил разместить в качестве вопроса и ответа для людей, желающих реализовать.

Решение довольно простое.

  1. Найдите нужные шрифты и загрузите их. This website имеет огромную коллекцию бесплатных шрифтов.

  2. Добавить файлы шрифтов в свой проект. alt text

  3. Добавить имена шрифтов в файл info.plist, используя приведенный ниже массив.

  4. Найти имя шрифта; Дважды щелкните файл шрифта и используйте имя шрифта, указанное в заголовке окна. В данном примере это "Action Man"

alt text

Чтобы использовать шрифт имя, как вы обычно:

CCLabel* myLabel = [CCLabel labelWithString:@"Some Text" fontName:@"Action Man" fontSize:18]; 

Добавить это в файл info.plist:

<key>UIAppFonts</key> 
<array> 
    <string>Action Man Bold.ttf</string> 
    <string>AdineKirnberg-S.ttf</string> 
</array> 
+1

Зачем делать это Cocos2D QA? UIAppFonts работает одинаково в любом старом приложении iOS, где iOS> = 3.2.2 –

+0

Я хочу добавить, что этот метод также работает с .ttc :) – magorich

18

В Cocos2D вы можете включить файл шрифта с вашими ресурсами, а затем в fontName: просто поставьте имя файла. Например:

CCLabelTTF *label = [CCLabelTTF labelWithString:@"whatever" fontName:@"FONTNAME.ttf" fontSize:18]; 

Это часто бывает проще, чем метод, опубликованный Hanaan.

Вы должны использовать то же имя, что и имя файла, в качестве имени файла.

Вам не нужно добавлять шрифты в свой info.plist, если вы используете его только в битах Cocos2D.

Если, как и Confused, шрифт работает на симуляторе, но не на устройстве, это, вероятно, ошибка в имени файла. IPhone чувствителен к регистру, симулятор - нет.

+7

Это не относится к cocos2d 2.0, CCLabelTTF будет использовать только UIFont для разрешения шрифт, который он хочет.Это требует добавления TTF к Info.plist. – bshirley

+0

@bshirley, мне тоже приходится сталкиваться с такой же проблемой в cocos2d 2.0, скажите мне, где добавить имя файла шрифта ttf в plist. – Guru

+1

@Raj - ответ приведен выше. Добавьте TTF в проект как ресурс. Добавьте файл шрифта в файл info.plist, ключ UIAppFonts, который представляет собой массив со строковыми значениями (т. Е. «FooBar.ttf»). Убедитесь, что вы используете имя FONT NAME в коде, а не имя файла. Выберите и проверьте шрифт в Mac OS, чтобы получить имя фактического шрифта, которое закодировано в файле. (который может быть «Foo Bar BOLD») – bshirley

0

Поскольку эти ответы устарели, я уверен, что мой вопрос/ответ поможет всем тем, кто там находится.

Importing fonts for cocos2dx iOS

это для импортирования и IOS Android шрифтов платформы, с помощью всего одной строки кода!

Смежные вопросы