理论部分

一个显示多个RichElement的容器类。 我们可以使用它很容易显示带图片的文本,继承自 Widget。

代码实践

static RichText * create ()
创建一个空的RichText

void insertElement (RichElement *element, int index)
在指定位置插入一个RichElement。

void pushBackElement (RichElement *element)
在容器最后插入一个RichElement。

void removeElement (int index)
移除指定位置的RichElement。

void removeElement (RichElement *element)
移除一个RichElement。

void setVerticalSpace (float space)
设置每个RichElement的垂直间隔。

void formatText ()
重新排列所有的RichElement。 常内部调用。

static RichElementText * create (int tag, //标签值。
const Color3B &color, //颜色值。
GLubyte opacity, //不透明度。
const std::string &text, //文本内容。
const std::string &fontName, //文本字体名称。
float fontSize) //文本字体大小。
通过多个变量创建一个RichElementText类。

static RichElementImage * create (int tag, //标签值。
const Color3B &color, //颜色值。
GLubyte opacity, //不透明度。
const std::string &filePath) //图片文件名。
通过多个变量创建一个RichElementImage类。

static RichElementCustomNode * create(int tag, //标签值。
const Color3B &color, //颜色值。
GLubyte opacity, //不透明度。
Node *customNode) //自定义节点指针。
通过多个变量创建一个RichElementCustomNode类。

实例:

        // RichText
_richText = RichText::create();
_richText->ignoreContentAdaptWithSize(false);
_richText->setContentSize(Size(, )); RichElementText* re1 = RichElementText::create(, Color3B::WHITE, , str1, "SimSun", );
RichElementText* re2 = RichElementText::create(, Color3B::YELLOW, , "And this is yellow. ", "Helvetica", );
RichElementText* re3 = RichElementText::create(, Color3B::GRAY, , str2, "Yu Mincho", );
RichElementText* re4 = RichElementText::create(, Color3B::GREEN, , "And green with TTF support. ", "fonts/Marker Felt.ttf", );
RichElementText* re5 = RichElementText::create(, Color3B::RED, , "Last one is red ", "Helvetica", ); RichElementImage* reimg = RichElementImage::create(, Color3B::WHITE, , "cocosui/sliderballnormal.png"); cocostudio::ArmatureDataManager::getInstance()->addArmatureFileInfo("cocosui/100/100.ExportJson");
cocostudio::Armature *pAr = cocostudio::Armature::create("");
pAr->getAnimation()->play("Animation1"); RichElementCustomNode* recustom = RichElementCustomNode::create(, Color3B::WHITE, , pAr);
RichElementText* re6 = RichElementText::create(, Color3B::ORANGE, , "Have fun!! ", "Helvetica", );

cocos代码研究(26)Widget子类RichView学习笔记的更多相关文章

  1. cocos代码研究(1)Node学习笔记

    理论部分 Node类继承自Ref类,是cocos框架中基础底层的一个封装类,与画面渲染相关的类一般都是继承自该类,例如Scene,Layer,Sprite,Sprite3D,Label,SpriteB ...

  2. cocos代码研究(5)Action学习笔记

    理论部分 Action类也是cocos核心基础类之一,在游戏中起着非常重要的作用,继承自Ref,被 FiniteTimeAction(有限时间动作), Follow , 以及 Speed 继承. 有限 ...

  3. cocos代码研究(2)Label学习笔记

    理论部分 Label类继承自Node类,中文翻译文字与字体,通常在应用开发中为模块作为提示和描述的作用,主要有3中不同的创建方式. 1.通过ttf字体包创建,通过指定本地已有的ttf格式的字体文件,创 ...

  4. cocos代码研究(1)sprite学习笔记

    各种方法创建Sprite和Animate //图片创建法 参数一:图片资源路径 参数二:Rect选区 auto sprite = Sprite::create(, )); addChild(sprit ...

  5. cocos代码研究(2)Layer学习笔记

    auto layer = Layer::create(); /*************华丽分割线*************/ auto layer = LayerColor::create(Colo ...

  6. cocos代码研究(17)Widget子类RadioButtonGroup学习笔记

    理论基础 RadioButtonGroup可以把指定的单选按钮组织起来, 形成一个组, 使它们彼此交互. 在一个RadioButtonGroup, 有且只有一个或者没有RadioButton可以处于被 ...

  7. cocos代码研究(16)Widget子类RadioButton学习笔记

    理论基础 RadioButton是一种特定类型的两状态按钮,它与复选框相似.它可以 和RadioButtonGroup一起使用,形成一个"组".继承自AbstractCheckBu ...

  8. cocos代码研究(15)Widget子类CheckBox学习笔记

    理论基础 复选框是一种特定类型的“两状态”按钮,可以处于“选中”和“未选中状态”.继承自AbstractCheckButton.注 AbstractCheckButton继承自Widget类. 代码部 ...

  9. cocos代码研究(14)Widget子类Button学习笔记

    理论基础 表示一个按钮组件. 按钮可以被按下,或者点击, 并且在按下或者点击之后,可以由用户指定一个动作来执行,继承自 Widget. 代码部分 static Button * create ()创建 ...

随机推荐

  1. IM软件业务知识—导航

    ----------------------------------------------------欢迎查看IM软件业务知识<专栏>-------------------------- ...

  2. quick-cocos2d-x游戏开发【10】——触摸捕获事件 cc.NODE_TOUCH_CAPTURE_EVENT

    假设看过sample中touch的代码,你会发现演示样例中有一个cc.NODE_TOUCH_CAPTURE_EVENT事件.它和cc.NODE_TOUCH_EVENT触摸事件一样,是引擎级别的事件,我 ...

  3. python2.0_day18_Django自带的用户认证模块的使用

    用户验证我们基于一个项目来学习利用Django框架中的user表实现用户认证Django练习小项目:学员管理系统设计开发 项目需求: 1.分讲师\学员\课程顾问角色, 2.学员可以属于多个班级,学员成 ...

  4. linux系统输入法设置

    首先是要安装了中文输入法,下面以搜狗为例. 2 从system settings 进入language support ,在keyboard input method system 中是看不到自己安装 ...

  5. 微信小程序 this.setData 修改json里面的值

    page({ data:{ s1:{a:"",b:"b"} }, changeData:function(e){ var cData=this.data.s1; ...

  6. 导航跳转后保持选中状态 jquery高亮当前选中菜单

    功能需求:今天在写一个站点需要用到在导航菜单点击链接跳转到新页面后,高亮当前菜单样式.简单的说,就是我点击导航菜单中的一个栏目,跳转到该栏目下,该栏目菜单也同时高亮(可以是背景色也可以是背景图片) 解 ...

  7. 从CES看2016物联网发展趋势

    [导读] 美国时间1月6号,千呼万唤始出来的2016年国际消费电子展(CES2016)在拉斯维加斯正式拉开序幕.三天会展完满落幕,这个被誉为全球消费电子技术风向标的北美最大消费电子展俨然变成了未来智慧 ...

  8. 二、微信小游戏开发 多线程Worker

    微信多线程Worker教程 微信多线程Worker API 一.创建Worker,并和当前线程通讯 多线程worker只能创建1个.能和当前线程互传数据. 创建worker 在微信开发者工具中,在当前 ...

  9. Android搜索自动提示功能 AutocompleteTextView

    1.配置main.xml中自动提示控件: <AutoCompleteTextView android:id="@+id/autotv_searchresult" androi ...

  10. 报警告session_regenerate_id(): Failed to create(read) session ID: files (path: N;/path)

    php.ini文件中的session.save_path = "N;/path"注释掉(前面加分号)