cocos3——7.使用UI的RichText

来源:互联网 发布:linux启动java服务 编辑:程序博客网 时间:2024/06/07 23:00

1.创建

            var richText = new ccui.RichText();            richText.ignoreContentAdaptWithSize(false);            richText.width = 120;            richText.height = 100;
  通过赋值width和height来设置contentSize,ignoreContentAdaptWithSize设为false来让文本按contentSize进行布局。


2.创建文本元素

static RichElementText* create(int tag, const Color3B& color, GLubyte opacity, const std::string& text, const std::string& fontName, float fontSize);static RichElementImage* create(int tag, const Color3B& color, GLubyte opacity, const std::string& filePath);static RichElementCustomNode* create(int tag, const Color3B& color, GLubyte opacity, Node* customNode);
  三种元素分别是文字、图片、普通节点(用普通节点就可以挂从Node派生的类)。

  tag貌似内部没有用,外部也访问不了,其他参数容易理解。

    var re1 = new ccui.RichElementText(0, cc.color.WHITE, 255, '这是白色白色白色白色白色白色', '黑体', 24);    var re2 = new ccui.RichElementText(0, cc.color.RED, 255, '这是红色红色红色红色红色红色红色', '楷体', 24);    var reimg = new ccui.RichElementImage(0, cc.color.WHITE, 255, 'res/pic/CloseNormal.png');    var renode = new ccui.RichElementCustomNode(0, cc.color.WHITE, 255, new cc.Sprite('res/pic/CloseNormal.png'));

3.增删元素

    void insertElement(RichElement* element, int index);    void pushBackElement(RichElement* element);    void removeElement(int index);    void removeElement(RichElement* element);

4.其他方法

    void setVerticalSpace(float space);    virtual void setAnchorPoint(const Vec2 &pt);    virtual Size getVirtualRendererSize() const override;    void formatText();    virtual void ignoreContentAdaptWithSize(bool ignore);
  getVirtualRendererSize这个js好像没有导出。

5.结果






0 0