在实际工作中,有很多地方会使用 富文本,这里只介绍最简单的富文本使用方法:
是由cocostudio 提供的 RichText:
直接贴代码,再分析:
//这里测试富文本控件 ui::RichText* _richText = ui::RichText::create(); _richText->ignoreContentAdaptWithSize(false); _richText->setSize(CCSizeMake(500, 300)); ui::RichElementText* re1 = ui::RichElementText::create(1, ccWHITE, 255, "这是白色的文字。 ", "Helvetica", 24); ui::RichElementText* re2 = ui::RichElementText::create(2, ccYELLOW, 255, "这个就是黄色的文字了。 ", "Helvetica", 24); ui::RichElementText* re3 = ui::RichElementText::create(3, ccBLUE, 255, "我是蓝色。", "Helvetica", 47); ui::RichElementText* re4 = ui::RichElementText::create(4, ccGREEN, 255, "绿的在这里。 ", "Helvetica", 24); ui::RichElementText* re5 = ui::RichElementText::create(5, ccRED, 255, "最后才轮到红色 ", "Helvetica", 24); ui::RichElementImage* reimg = ui::RichElementImage::create(6, ccWHITE, 255, "CloseNormal.png"); cocos2d::extension::CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("cocosgui/100/100.ExportJson"); cocos2d::extension::CCArmature *pAr = cocos2d::extension::CCArmature::create("100"); pAr->getAnimation()->play("Animation1"); ui::RichElementCustomNode* recustom = ui::RichElementCustomNode::create(1, ccWHITE, 255, pAr); ui::RichElementText* re6 = ui::RichElementText::create(7, ccORANGE, 255, "橘子橙色!! ", "Helvetica", 35); _richText->pushBackElement(re1); _richText->insertElement(re2, 1); _richText->pushBackElement(re3); _richText->pushBackElement(re4); _richText->pushBackElement(re5); _richText->insertElement(reimg, 2); _richText->pushBackElement(re6); _richText->pushBackElement(recustom); CCSize size = CCDirector::sharedDirector()->getWinSize(); _richText->setPosition(ccp(size.width / 2, size.height / 2)); addChild(_richText);
RichText 里面可以放入 RichElement,而 RichElement有三个子类:RichElementText、RichElementImage、RichElementCustomNode
非常好理解,就是文本、图片和自定义的节点。
总结:
优点:
第三方已经实现好了,并且久经考验。RichText能显示文本、图片、和自定义的控件,并且能设置字体,字号和颜色,满足一些基本的显示功能。
缺点:
RichText 没有提供解析Html文件,没有描边、下画线、阴影、发光和文字图片的链接点击等事件。
cocos2dx --- 富文本的使用 RichText,布布扣,bubuko.com
原文地址:http://blog.csdn.net/notes_abc/article/details/28396081