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