理论部分

一个显示多个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. Ubuntu 14.04 设置Android开发环境

    准备Java环境 本文仅仅安装sdk,不安装什么IDE,由于我仅仅须要命令行模式开发就可以. 首先安装openjdk 1.6.然后安装ant.这个不赘述. 下载SDK 从这里下载SDK for Lin ...

  2. ASP代码审计学习笔记-1.SQL注入

    ASP注入漏洞 一.SQL注入的原因 按照参数形式:数字型/字符型/搜索型 1.数字型sql查询 sql注入原因: ID=49 这类注入的参数是数字型,SQL语句原貌大致如下: id=request. ...

  3. SecureCRT 详细使用图文教程(按步骤)

    一.安装和激活 安装 1.在http://www./softs/55471.html下载相关包激活工具,运行scrt622-x86.exe. 2.进入安装向导程序,默认下一步,直到安装完成既可以. 破 ...

  4. 通过WireShark抓取iOS联网数据实例分析

    本文转载至http://blog.csdn.net/lixing333/article/details/7782539 iosiphone网络filter工具 我在另外一篇博客里,介绍了一款比Wire ...

  5. c++字符指针

    对于C/C++中的 字符指针和字符数组,总是在碰到的时候无法确定而不得不现场测试,来确定末尾是否包含'\0',函数到底如何使用等等.真是劳民伤财,现在总结一下: 字符指针的赋值 (1)指向一个字符串常 ...

  6. Dockerfile分享之SSH Server

    版权声明:本文由姚俊刚原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/84 来源:腾云阁 https://www.qclou ...

  7. linux如何设置用户权限

    linux与用户权限设置: 1.添加用户 首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户 #passwd tommy //修改密码 ...

  8. 知道WCF的地址用工厂通道方式快速调用WCF

    知道WCF的地址用工厂通道方式快速调用WCF  1 using System;  2 using System.ServiceModel;  3 using System.ServiceModel.D ...

  9. .net asp 在1.asp页面嵌入另一个页面2.asp

    <iframe src="http://www.baidu.com" width="100%" height="100%" onloa ...

  10. ios开发 点击文本(TextField)输入的时候向上推以及输入之后恢复的动画

    1.添加委托UITextFieldDelegate 2. -(BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resi ...