Cocos2d-js:自定义 TTF 字体不会在 Android 中显示
Cocos2d-js: Custom TTF font won't display in Android
我用
定义字体资源
var res = {
indieflower_ttf: {type:"font", name:"IndieFlower", srcs:["res/fonts/IndieFlower.ttf"]},
}
并创建一个 TTF 标签:
var text = cc.LabelTTF.create(text, "IndieFlower", bubble.fontsize, cc.size(60,0),cc.TEXT_ALIGNMENT_LEFT, cc.VERTICAL_TEXT_ALIGNMENT_TOP);
并且将在 Firefox 和 Chrome 中显示正常,但将在 Android 上显示默认字体 (Arial)。
还要做什么?我检查了线程 Cocos2d-js: How to use a custom ttf font on android devices?,但没有帮助。
问题是,原生平台需要ttf字体的完整路径,而html平台需要字体名称。我从 cocos2d-x 论坛得到了两个解决方案:
使用位图字体。 (是的...但是我想要ttf)
编码:
我现在的资源文件中:
var res = {
indieflower_ttf: {type:"font", name:"IndieFlower", srcs:["res/fonts/IndieFlower.ttf"]},
}
然后是辅助函数:
var _b_getFontName = function(resource) {
if (cc.sys.isNative) {
return resource.srcs[0];
} else {
return resource.name;
}
}
并创建标签:
var text = cc.LabelTTF.create("text", _b_getFontName(res.indieflower_ttf), 48, cc.size(300,0),cc.TEXT_ALIGNMENT_CENTER, cc.VERTICAL_TEXT_ALIGNMENT_TOP);
我用
定义字体资源var res = {
indieflower_ttf: {type:"font", name:"IndieFlower", srcs:["res/fonts/IndieFlower.ttf"]},
}
并创建一个 TTF 标签:
var text = cc.LabelTTF.create(text, "IndieFlower", bubble.fontsize, cc.size(60,0),cc.TEXT_ALIGNMENT_LEFT, cc.VERTICAL_TEXT_ALIGNMENT_TOP);
并且将在 Firefox 和 Chrome 中显示正常,但将在 Android 上显示默认字体 (Arial)。
还要做什么?我检查了线程 Cocos2d-js: How to use a custom ttf font on android devices?,但没有帮助。
问题是,原生平台需要ttf字体的完整路径,而html平台需要字体名称。我从 cocos2d-x 论坛得到了两个解决方案:
使用位图字体。 (是的...但是我想要ttf)
编码:
我现在的资源文件中:
var res = {
indieflower_ttf: {type:"font", name:"IndieFlower", srcs:["res/fonts/IndieFlower.ttf"]},
}
然后是辅助函数:
var _b_getFontName = function(resource) {
if (cc.sys.isNative) {
return resource.srcs[0];
} else {
return resource.name;
}
}
并创建标签:
var text = cc.LabelTTF.create("text", _b_getFontName(res.indieflower_ttf), 48, cc.size(300,0),cc.TEXT_ALIGNMENT_CENTER, cc.VERTICAL_TEXT_ALIGNMENT_TOP);