cocos2dx-3.x: lua 富文本,文本中插入颜色文本处理
2015-11-04 08:27
1156 查看
开发中,难免遇见需要在文本内容里,特殊标记的内容,如npc名称,或者道具名称等需要标注颜色,所以封装了下面的方法,可以再公会和任务描述等特殊文本处使用,代码如下:
-- 带参数的文本 格式为 是否自动换行,文本大小,字号,文本
-- 带参数的文本 格式为 是否自动换行,文本大小,字号,文本
function cc.exports.CreateRichText(basecolor,ignore,size,fontsize,key) --"ffaabb,qiuhe|ff0000,qiuhe|ffaabb,{1}|ffaabb,qiuhe{2}qiuhe" local m_text=<span style="font-size: 12.6315793991089px; font-family: Arial, Helvetica, sans-serif;">key</span> local _richText = ccui.RichText:create() if ignore~=nil then _richText:ignoreContentAdaptWithSize(ignore) end if size~=nil then _richText:setContentSize(size) end local max_table = string.split(m_text,"|") for i, max in ipairs(max_table) do local max1 = string.split(max,"#") if table.getn(max1)<2 then local re1 = ccui.RichElementText:create(1,basecolor, 255,tostring(max1[1]), "simhei.ttf", fontsize) _richText:pushBackElement(re1) else local re1 = ccui.RichElementText:create(1, cc.c3b(string.format("%d",tonumber("0x"..string.sub(max1[1],1,2))), string.format("%d",tonumber("0x"..string.sub(max1[1],3,4))), string.format("%d",tonumber("0x"..string.sub(max1[1],5,6)))), 255,tostring(max1[2]), "simhei.ttf", fontsize) _richText:pushBackElement(re1) end end return _richText end引用:
local mrt=cc.exports.CreateRichText(cc.c3b(255,255,255),false,cc.size(40,100),33,<span style="font-size: 12.6315793991089px; font-family: Arial, Helvetica, sans-serif;">"ffaabb,qiuhe|ff0000,qiuhe|ffaabb,{1}|ffaabb,qiuhe{2}qiuhe"</span>) mrt:setPosition(200,200) self:addChild(mrt,10)
相关文章推荐
- android 代码实现控件之间的间距
- [Android]在代码里运行另一个程序的方法
- 如何成为一名专家级的开发人员
- 肯特·贝克:改变人生的代码整理魔法
- 网页恶意代码的预防
- 高手写的Tracer-Flash代码调试类代码下载
- 详解Lua中的表的概念及其相关操作方法
- Lua编程示例(二):面向对象、metatable对表进行扩展
- CSS代码缩写技巧
- 非主流Q-zOne代码代码搜集第1/2页
- CreateWeb.vbs 代码
- 把Lua编译进nginx步骤方法
- Lua脚本自动生成APK包
- Lua中的元表(metatable)、元方法(metamethod)详解
- Lua中的metatable介绍
- Lua中ipair和pair的区别
- Lua中的函数精讲笔记
- 浅谈Lua的面向对象特性
- 详解Lua中的变量相关知识点
- Lua脚本语言入门笔记