cocos3——7.使用UI的RichText

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.結果






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章