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 std::string& filePath); static RichElementCustomNode* create(int tag,Node* customNode);三种元素分别是文字、图片、普通节点(用普通节点就可以挂从Node派生的类)。
tag貌似内部没有用,外部也访问不了,其他参数容易理解。
var re1 = new ccui.RichElementText(0,cc.color.WHITE,255,'这是白色白色白色白色白色白色','黑体',24); var re2 = new ccui.RichElementText(0,cc.color.RED,'这是红色红色红色红色红色红色红色','楷体',24); var reimg = new ccui.RichElementImage(0,'res/pic/CloseNormal.png'); var renode = new ccui.RichElementCustomNode(0,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.结果