2012-06-09 2 views
2

Я пытаюсь использовать собственный шрифт в Cocos2d-Android с CClabel, я добавил файл шрифта в свои активы и попытался использовать его по имени «Faraco_Hand.ttf» и «Faraco_Hand», но он не работает, я googled вокруг, но не нашел никакого решения. вот как выглядит мой код:Cocos2d-Android Пользовательский шрифт не работает

currentVideoLabel = CCLabel.makeLabel(VideosLabels[currentSelected], "Faraco_Hand.ttf", winSize.width/41); 
     currentVideoLabel.setPosition(CGPoint.make(winSize.width/2, 20)); 
     addChild(currentVideoLabel); 

Если кто-то знает это, пожалуйста, помогите мне.

+1

У Cocos2d-android больше нет поддержки. Вы должны использовать cocos2d-x, cross-plataform, использовать JNI для использования кода C++. Подробнее [ЗДЕСЬ] (http://stackoverflow.com/q/10711047/1077364). Проблема, которую вы задаете, решает в тесте внутри cocos2d-x, взгляните. – vgonisanz

ответ

4

Привет, я использую этот способ, чтобы добавить шрифт в мою игру здесь. Я делюсь с вами своим кодом. Проверяйте его, надеюсь, что это полезно для вас. Я устанавливаю свой шрифт на этикетке, это единственный способ установить шрифты ... все лучший

Пример: 1

CCLabel labelcontinue = CCLabel.makeLabel("continue", "fonts/JimboStd-Black.otf", 14); 
       labelcontinue.setPosition(CGPoint.ccp(272, 95)); 
       labelcontinue.setColor(ccColor3B.ccc3(165, 42, 42)); 
       mainPaperNode.addChild(labelcontinue, 25); 

Example2:

CCLabel labelWelcome = CCLabel.makeLabel("Welcome", "fonts/JimboStdBlack.otf",20); 
     labelWelcome.setColor(ccColor3B.ccc3(139, 69, 19)); 
     labelWelcome.setPosition(CGPoint.ccp(innerArea.getContentSize().getWidth()/2, (innerArea.getContentSize().getHeight()/2) + 138)); 
     innerArea.addChild(labelWelcome); 
+0

Нет, его не работает. Пожалуйста, помогите !! – Dhrupal

+0

Почему в чем проблема ....? Сталкивается с любой ошибкой во время использования этого кода ..? я использую это в своей игре и ее отлично работает. –

+0

Priyank .. нет, он не меняет моего шрифта. Я хочу использовать шрифт комиксов. – Dhrupal

1

я знаю, что это поздно ответ, во всяком случае это может помочь кому-то, кто ищет это то же самое ... CCLabe л поддерживает внешние шрифты, но некоторые из TTF не будет признан андроида так будет через исключение, так что лучше вам попробовать другой шрифт вместо этого кода же ...

label = CCLabel.makeLabel("label value", "external_font_name.ttf", 30); 
    label.setPosition(CGPoint.make(winSize.width/2, 20)); 
    addChild(label); 
+0

посмотреть эту ссылку. Мне нужна помощь от людей из cocos2d-android: http: // stackoverflow.com/questions/17971120/can-we-use-googleads-admob-adwhirl-in-cocos2d-android –

1

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

enter image description here

в этом случае, я держал свой файл TTF в Resources/Fonts папку и написал мой код, как:

CCLabelTTF* label = CCLabelTTF::create("Hello World", "fonts/A Damn Mess.ttf", 20); 

Также проверьте CCLabelTTF вместо CCLabel.

Надеюсь, это вам поможет.

+0

посмотреть эту ссылку. Мне нужна помощь от людей из cocos2d-android: http://stackoverflow.com/questions/17971120/can-we-use-googleads-admob-adwhirl-in-cocos2d-android –

0

Это поможет. Этот код работает для меня отлично. Положить пользовательский шрифт int assets-> fonts

CCLabel label1 = CCLabel.makeLabel("Points: 0", "fonts/pin.ttf", 28); 
    label1.setColor(ccColor3B.ccWHITE); 
    label1.setPosition(280f * scaleX, 550f * scaleY); 
    addChild(label1); 
Смежные вопросы