在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
前言在游戏中,我们经常会遇到汉字的多行显示,比如名字竖行显示等。如下图: 为了实现上面的效果,lua实现分行是通过 \n 实现的,所以我们需要取出汉字,然后插入 \n 实现分行效果。还有一种就是设置Label的的实际大小,也可以实现分行效果。 操作中文字符串,获取字符串长度local str = "哈哈哈哈" local _,strTest = string.gsub(str,'[\128-\255][\128-\255]',' ') local _, count = string.gsub(str, "[^\128-\193]", "") print(count) print(strTest)
中文字符串中单个汉字取出,放到tab中简单实现一个功能函数,将字符串中的单个汉字取出,放到一个数组中,然后再进行其他操作。 实现函数为: --功能将汉字插入\n分行显示 --可扩展,比如一行显示几个字等 --这里是一个测试n每行显示一个 function branchStr(str) local sNum = num or 1 local tab = {} for uchar in string.gfind(str, "[%z\1-\127\194-\244][\128-\191]*") do tab[#tab+1] = uchar end local resultStr = "" for i=1,#tab do resultStr = resultStr..tab[i].."\n" end return resultStr end 调用上面的函数,我们可以将得到插入\n 的字符串,然后在文本框中使用就可以了。这里的函数可以扩展,比如一行显示多少个汉字等。
quick lua 多行显示第二种方式控制文本的大小-------------------------------- --[[-- 使用 TTF 字体创建文字显示对象,并返回 Label 对象。 可用参数: - text: 要显示的文本 align 和 valign 参数可用的值: - cc.TEXT_ALIGNMENT_LEFT 左对齐 ~~~ lua
dimensions 参数就是设置显示的大小
--描述 local desLabel = cc.ui.UILabel.new({ text = "哈喽哈鲁哈喽哈鲁哈喽哈鲁哈喽哈鲁哈喽哈鲁哈喽哈鲁哈喽哈鲁哈喽哈鲁哈喽哈鲁哈喽哈鲁哈喽哈鲁哈喽哈鲁",--level align = cc.ui.TEXT_ALIGN_CENTER, color = cc.c3b(255, 255, 220), size = 20, dimensions = cc.size(bg:getContentSize().width-10,60) }) :align(display.CENTER,bg:getContentSize().width/2,60) :addTo(bg) dimensions :参数
|
请发表评论