本帖最后由 独家记忆 于 2022-7-1 10:18 编辑
这次给大家分享2个工具类,一个是Gravity,一个是TextUtil Gravity是适用于对齐的,TextUtil是适用于从文本中找到最真实的文字的。具体文件详见附件 函数引用: [TypeScript] 纯文本查看 复制代码 import * as TextUtil from "../工具类/TextUtil" 具体的位置,自己根据自己的目录调一下,Visual studio也挺智能的,路径输入的过程中,他会自动提示。 然后下面就可以使用,TextUtil.函数名,调用了。之后如何引用这块就不强调了 函数介绍:
(1)TextUtil类:
3个函数jiantouChuli,kuohaoChuli,scharChuli这3个函数大家可以不用管,这是内部处理函数。getTrueText,textCharStrlen这2个才是对外开放的函数。 textCharStrlen:检测一段文本内共计有多少个英文字符,一个汉字=2个英文字符。 getTrueText:是从一段文字中去除修饰符,找到最真实的文字。 比如:一段文本是这样的。 {S=大家好;C=253},可以通过<武器升级/@shengji>,{S=提升自己的实力;C=253哦}。通过该函数处理后,能够得到 “大家好,可以通过武器升级,提升自己的实力哦”这一段字 注意:getTrueText函数是根据91引擎深度定制的,一切字符截图是根据<>、{}、S=进行截取的。所以GM在使用的过程中,自己别在文本里再额外的用 <、>、{、}、S= 这5种字符了,否则会处理错乱。 var str:string =TextUtil.getTrueText(这里是要处理的文字) (2)Gravity类
介绍 Gravity类中有1个枚举类型参数,对应了3个值。 GravityE {LEFT=1, CENTER=2, RIGHT=3},分别对应的是左对齐,中对齐,和右对齐。在该类中,只有1个返回值为string的方法, 函数为:createString(原文本:allStr,真实文本:name,中文列宽:columnwidth,对齐方式:gravityType) 4个参数详解如下:
columnwidth:就是列的宽度,自己可以在界面上打字,看看自己的界面框可以显示个汉字,那自己的列宽就是多宽。有了列宽作为基础数据。如果GM想1行显示2列,列的内容都是居中的,那这里的传的值 =width / 2就行了,就是一半框的居中。同理1/3 1/5 2/5这种都可以设置。 allStr:就是未经过getTureText的原始文本 name:经过getTureText的文本 gravityType:对齐方式,GravityE.CENTER中对齐;GravityE.LEFT左对齐;GravityE.RIGHT右对齐 所以,以上2个函数混合,类似排行榜和会员服务这种排版,就几行代码就可以实现界面的排版了。当然后续的处理逻辑自己还是要做的。不过,不用被操蛋的界面排版浪费自己大部分时间,这个应该会很爽的吧? 以下为截图示例 排行榜 - 使用的是居中对齐 会员服务 - 使用的是左对齐
下载地址:index.php?c=app&a=puyuetianeditor:index&s=showfile&id=67
|