在 Cocos2d JS 中,我们可以使用 LabelTTF
来创建标签,并给它一个字体。
我们如何创建混合字体标签,例如">这是我的名字"。
1.(我应该能够更改文本的颜色,字体和大小。在objective-c中,等效的是NSAttributedString。
2.( 或者,我们可以在 cocos2d-js 中显示 html 文本吗?
谢谢
v4 中有一些这样的功能,但现在还没有一个简单的方法。
您必须创建自己的类,该类在内部保留多个LabelTTF
,每个部分对应不同格式的文本的每个部分,并在所需的空间内正确排序。
祝你好运!
它被称为富文本。
这是示例代码:
var richText = new ccui.RichText();
var text1 = new ccui.RichElementText(1, cc.color.RED, 255, "HELLO", "Arial", 25);
var text2 = new ccui.RichElementText(1, cc.color.GREEN, 255, "HELLO", "Arial", 35);
richText.pushBackElement(text1);
richText.pushBackElement(text2);
richText.setPosition(cc.p(200,200));
this.addChild(richText);
看这里
这是我对第二个问题的回答:
基本上,您在输出屏幕中看到的内容来自HTML文件。其中有一个元素可以看到我们的 cocos2dJS 输出。所以,我的想法是...您可以使用不同的 ID 名称创建标签或div。风格必须如下:
idName{display: none; position: fixed;}
一旦您需要显示div 或标签,您可以通过以下代码访问它并将其显示在屏幕上:
document.getElementById('idName').style.display = 'block';
如果要将其放置在正确的位置,请使用以下代码:
document.getElementById('idName').style.top = cc.winSize.height/2;//This value can be as you wanted to display.
document.getElementById('idName').style.left = cc.winSize.width/2;//This value can be as you wanted to display.
这就是完整的场景。你已经完成了。:)
我认为您将需要此链接:https://docs.cocos2d-x.org/api-ref/js/V2.2/symbols/cc.LabelTTF.html
这是来自 cocos2d-x 的文档,下面是一个示例:
var lbCoin = new cc.LabelTTF( '123.456.789', /* content */
'Arial', /* font family */
24, /* font size */
cc.size(0, 0), /* position */
cc.TEXT_ALIGNMENT_LEFT); /* alignment */
lbCoin.attr({
x: cc.winSize.width / 2,
y: cc.winSize.height / 2
});
lbCoin.zIndex = 2005;
lbCoin.color = cc.color(250, 221, 149);
// or you can use lbCoin.setColor(cc.color(250, 221, 149));
this.addChild(this.lbCoin);