cocos3——7.使用UI的RichText

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

cocos3——7.使用UI的RichText的相关文章

Cocos2d-x新UI解决方案的使用

参考了几篇文章: http://io.diveinedu.com/2015/01/13/Cocos2d-3.x%E4%B8%ADButton%E7%9A%84%E4%BD%BF%E7%94%A8.html http://www.cocos2d-x.org/wiki/UI#Label 说实话,官方文档不是很好,很多库的使用方法都没有提到,从官方示例项目中找的代码也是添加了很多依赖的,稍微不注意一点就踩坑. 使用Button正如第一篇文章所说的那样: 1 #ifndef __THIRD_SCENE_

cocos代码研究(12)UI之Widget学习笔记

理论基础 Widget类,所有UI控件的基类. 这类继承自ProtectedNode和LayoutParameterProtocol. 如果你想实现自己的UI控件,你应该继承这个类. 被 VideoPlayer, WebView, AbstractCheckButton, Button, EditBox, ImageView, Layout, LoadingBar, RadioButtonGroup, RichText, Slider, Text, TextAtlas, TextBMFont ,

cocos2dx实现功能强大的RichText控件

近期准备做一个聊天系统,開始准备使用cocos2dx的UIRichText控件来显示聊天内容,结果在使用的时候才发现,cocos2dx的RichText功能很有限,全然不具备实现聊天的功能,仅仅实现了增加文本.图像和自己定义控件的功能,支持不同字体.颜色.字号. 我个人觉得,一个RichText控件应该具备下面基本功能: 1.多样化的文本显示功能,包含字体.颜色.字号的设置. 2.能显示图片以及一些特殊元素. 3.应该支持图片文字的超链接功能. 4.可以支持滚动的效果. 5.可以有非常方便的换行

cocos2dx --- 富文本的使用 RichText

在实际工作中,有很多地方会使用 富文本,这里只介绍最简单的富文本使用方法: 是由cocostudio 提供的 RichText: 直接贴代码,再分析: //这里测试富文本控件 ui::RichText* _richText = ui::RichText::create(); _richText->ignoreContentAdaptWithSize(false); _richText->setSize(CCSizeMake(500, 300)); ui::RichElementText* re

cocos2d-x3.0 RichText

.h #include "cocos2d.h" #include "cocos-ext.h" #include "ui/CocosGUI.h" #include "cocostudio/CocoStudio.h" USING_NS_CC; USING_NS_CC_EXT; using namespace ui; RichText* _richText; void touchEvent(Ref *pSender, TouchEv

Android UI相关开源项目库汇总

最近做了一个Android UI相关开源项目库汇总,里面集合了OpenDigg 上的优质的Android开源项目库,方便移动开发人员便捷的找到自己需要的项目工具等,感兴趣的可以到GitHub上给个star. 抽屉菜单 MaterialDrawer ★7337 - 安卓抽屉效果实现方案 Side-Menu.Android ★3865 - 创意边侧菜单 FlowingDrawer ★1744 - 向右滑动流动抽屉效果 SlidingRootNav ★1338 - 仿DrawerLayout的View

一个强大的UI node 抽象

基于cocos2d -x的一个强大的 界面对象的基类 1 ---@type uinode ui 对象的抽象 2 --@usage 3 -- 界面打开的执行流程 4 -- 带*的是可选重写的函数,不带*的为必须实现的 5 -- [定义一个对象] 6 -- test = {} 7 -- -------------------------------------------- 8 -- ---配置函数 9 -- [返回CCBI的名字] 10 -- function test:getBindUINode

Cocos2d-x 3.0final 终结者系列教程23CocosStudio UI组件使用大全Cocos2d-x3.2使用

最近忙死了,得空发表一篇关于所有的Cocostudio中的UI组件使用的教程,其实是对所有UI组件的Api介绍,作为手册收藏下吧!! CocosStudio UI组件 按钮UIButton 复选框UICheckBox 滑块UISlider 图片UIImageView 进度条UILoadingBar 纹理文本 UITextAtlas 字体文本 UIText 图片字体文本 UITextBMFont 文本区域 UITextField 布局组件 UILayout 滚动组件 UIScrollView 页面

基于jquery开发的UI框架整理分析

根据调查得知,现在市场中的UI框架差不多40个左右,不知大家都习惯性的用哪个框架,现在市场中有几款UI框架稍微的成熟一些,也是大家比较喜欢的一种UI框架,那应该是jQuery,有部分UI框架都是根据jQuery研发出来的产品,现在也很常见了. 国产jQuery UI框架 (jUI) DWZ DWZ富客户端框架(jQuery RIA framework), 是中国人自己开发的基于jQuery实现的Ajax RIA开源框架.设计目标是简单实用,快速开发,降低ajax开发成本. jQuery 部件布局