cocos 实现富文本

本文介绍了如何在cocos中实现富文本的功能,包括通过RichTextCreator和RichTextParser两个组件进行创建和解析。
摘要由CSDN通过智能技术生成
cocos 实现富文本

例子:

local str = string.format( "每次兑换扣除%s点活力,获得%s经验。", 
    string.format( "<font size='20' fontPath='fonts/font.ttf'>%s</font>", 1),
    string.format( "<font color='#%s' type='button' id='1' fontPath='fonts/font.ttf'>%s</font>", "FF7F00", "10000" )
)
-- 关键词<font> </font>表示句子需要去解析。<font>中可以跟color,size type fontPath等属性
--size 字体大小 color 字体颜色 type目前只实现了button:指这个字体可以被点击,如果一个文本中有多个font需要被点击并执行不同的代码,则加上id属性;fontPath 指字体路径。

RichTextCreator实现:

--[[
    富文本生成器
    例如:<font type='button' buttonID='1' color='#ffffff' size='20' >    dajljl</font>
    解释成:生成《    dajljl》并拥有点击事件,并对调事件ID为1,字体颜色为#ffffff,字体大小为20
--]]

local RichTextCreator = class('RichTextCreator')

local fontPath = "fonts/font.ttf"
local DEFAULTSIZE =  20
local DEFAULTCOLOR = cc.c3b(0, 0, 0)
local DEFAULTWIDTH = 200

function RichTextCreator:TransformToRGBValue(value)
    local _r = tonumber("0x" .. string.sub(value, 1, 2))
    local _g = tonumber("0x" .. string.sub(value, 3, 4))
    local _b = tonumber("0x" .. string.sub(value, 5, 6))
    return cc.c3b(_r, _g, _b)
end

function RichTextCreator:createRichElement(richText, strValue, size, color)
    for _, value in pairs(strValue.strValues) do
        if value ==
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值