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.结果
时间: 2024-11-08 23:31:20