理论部分

一个显示多个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. Python 数据类型:字典

    一.字典简介 1. 字典由键值对组成,每个键与值用冒号隔开,每对用逗号分割,整体放在花括号中,如 {"name": "Tom", "age" ...

  2. centos solr4.5 tomcat 简单安装[已测试ok]

    一.环境准备: 1.jdk安装 2.tomcat安装 这两个基本环境的安装在这里就不说了 二.下载solr-4.5.0.tgz 三.安装solr 1.解压solr tar -zxvf /opt/sol ...

  3. Django学习笔记 开发环境搭建

    为什么使用django?1.支持快速开发:用python开发:数据库ORM系统,并不需要我们手动地构造SQL语句,而是用python的对象访问数据库,能够提升开发效率.2.大量内置应用:后台管理系统a ...

  4. Mysql数据库一个表字段中存了id,并以逗号分隔,id对应的详细信息在另一个表中

    有两张表, 一张为爱好表b表 一张为用户表 u表 u表 id   名称   爱好Id 1    张三     1,2,3,4 2    李四      2,5 b表 id  名称 1    打乒乓 2 ...

  5. Eclipse背景与字体大小和xml文件中字体大小设置

    1.打开window / Preference,弹出Preference面板  2.展开General标签,选中Editors选项,展开.  3.选中 Text Editors,右边出现 TestEd ...

  6. bzoj 3307 雨天的尾巴

    题目链接:传送门 题目大意:中文题,略 题目思路:网上有题解说是合并线段树的,但是太难蒟蒻不会,只能用树剖求解 如果不是树而是一维数组我们会怎么解? 当然是利用前缀和思想标记 (L) v+1,(R+1 ...

  7. android 点九工具介绍

    1=============================9.png简介:“点九”是andriod平台的应用软件开发里的一种特殊的图片形式,文件扩展名为:.9.png android平台有多种不同的 ...

  8. mysql max_allowed_packet参数值改大后,莫名被还原

    mysql数据库用innodb引擎,mysql max_allowed_packet在my.cnf中值加大后,够一段时间,系统会莫名把这个参数的值改小. innodb_buffer_pool_size ...

  9. 学习认识Spring原理

    学习认识Spring原理 Spring 是一种业务层框架.搭建Spring框架需要Spring开发包和commons-logging包.Spring的核心思想是控制反转也称依赖注入(创建者--(实例) ...

  10. log4j 设置将生成的日志进行gz压缩并删除过期日志

    1.准备jar  :log4j-1.2.17.jar,commons-logging-1.2.jar,这2个就可以了,其他关于日志的jar包就不要加进来了,在优先级上会有冲突. 2.定义一个类,继承R ...