Lua 实现富文本打字机逐字显示效果
例如我们有一段富文本,并且需要像
local RichText = “这是一段<red>富文本</>”
我的思路是优先分隔每个字符,即第一次循环得到
_DialogStr = “这”
第二次循环得到
_DialogStr = “这是”
当循环得至
_DialogStr = “这是一段<”
进行字符串截取,只截取 ‘<’ 前的字符,并且不进行延时循环下一个字符,当循至
_DialogStr = “这是一段<red>”
则开始对字符串进行截取,截取从 “<red>” 标签到字符串结尾,并且开始匹配 “</>” 标签,若未匹配到对应字符串,则对原本字符串进行 “</>” 的补齐。
具体代码如下:
function GetRichTextFormat(_DialogStr)
if not _DialogStr then return "" end
local _OutStr = ""
local _Index = 1