Cocos2d-js: как использовать собственный шрифт ttf на устройствах Android?

Я использую следующий код для отображения пользовательского шрифта ttf:

ml.score = cc.LabelTTF.create(ml.totalPoints.toString(), "fonts/American Typewriter.ttf", 60);
ml.score.setPosition(ml.size.width/2,BS*0.6);
ml.score.retain();
ml.score.setColor(cc.color(200,160,70));
ml.scoreBar.addChild(ml.score, 5);  

В Android шрифт не отображается. В браузерах Chrome/Firefox это так.

Я использую cocos2d-js 30RC.

Wat?


person Michael    schedule 15.07.2014    source источник
comment
Вы предварительно загружаете свой шрифт? (вместе со всеми другими вашими активами, например, в вашем файле resource.js)   -  person Sebastián Vansteenkiste    schedule 17.07.2014


Ответы (2)


Я допустил ошибку. Имя файла было неверным. Должен быть

ml.score = cc.LabelTTF.create(ml.totalPoints.toString(), "res/fonts/American Typewriter.ttf", 60);

В противном случае код работает нормально. (стыд ...)

person Michael    schedule 17.07.2014

Ответ Майкла работает на моем Android, но не работает в моем браузере.

Я не смог найти универсальный метод, но добавление этого в заголовок index.html сработало для моего браузера:

<style>
@font-face {
    font-family: 'Lobster';
    font-style: normal;
    font-weight: 400;
    src: local('Lobster'), url(res/Lobster.ttf) format('woff');
}
</style>

с этим в вашем js:

var titleLabel = new cc.LabelTTF("Hello World", "Lobster", 72);

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

person John McDonald    schedule 07.09.2014