Cocos2d JS混合字体标签

时间:2015-06-04 04:20:28

标签: ios label cocos2d-js

在Cocos2d JS中,我们可以使用LabelTTF创建标签,并为其添加字体。

我们如何创建混合字体标签,例如“此是我的名称”。

1。)我应该能够改变文本的颜色,字体和大小。 objective-c中的等价物是NSAttributedString。

2.)或者,我们可以在cocos2d-js中显示html文本。

由于

4 个答案:

答案 0 :(得分:1)

v4的作品中有类似的功能,但目前还没有简单的方法。

您必须创建自己的类,在内部保留多个LabelTTF,每个部分使用不同格式的文本,并在所需的空间内对其进行正确排序。

祝你好运!

答案 1 :(得分:1)

它被称为richtext。

这是示例代码:

 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);

查看here

答案 2 :(得分:0)

以下是我对第二个问题的回答:

基本上,您在输出屏幕中看到的内容来自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. 

现在这就是完整的场景。你完成了它。 :)

答案 3 :(得分:0)

我想你会需要这个链接: 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);