91引擎爱好者论坛

 找回密码
 立即注册
热搜: 91引擎
查看: 7221|回复: 64

【强烈推荐】可以解决很多NPC界面排版场景的工具类[老论坛]

[复制链接]

该用户从未签到

0

主题

0

帖子

258

积分

中级会员

Rank: 3Rank: 3

积分
258
发表于 2021-12-13 11:32:57 | 显示全部楼层 |阅读模式
本帖最后由 独家记忆 于 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



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

该用户从未签到

0

主题

0

帖子

34

积分

新手上路

Rank: 1

积分
34
发表于 2021-12-13 11:40:37 | 显示全部楼层
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊阿 啷哩个浪
回复

使用道具 举报

该用户从未签到

0

主题

0

帖子

10万

积分

论坛元老

Rank: 8Rank: 8

积分
101229
发表于 2021-12-13 11:41:53 | 显示全部楼层
还可以封装的更易用,比如就传递一个数组 和一个排版方式得到字符串。就行了。十一月的肖邦:
那个感觉不太好,那个就太过于定制化了。这种单行的可以这么搞。排行榜的十一月的肖邦:
我搞了个屏蔽NPC的功能,那个代码就是传参直接一键生成的,不过内部生成的每行的内容还是要自己写的。之前本来是一开始写屏蔽功能的,写来写去排版问题太操蛋了,就先解决这个问题了,以后再把屏蔽功能给上传上来吧
回复

使用道具 举报

  • TA的每日心情
    开心
    2024-2-6 20:34
  • 签到天数: 105 天

    连续签到: 1 天

    [LV.6]常住居民II

    0

    主题

    105

    帖子

    924

    积分

    高级会员

    Rank: 4

    积分
    924
    发表于 2021-12-13 11:45:14 | 显示全部楼层
    看看先
    回复

    使用道具 举报

  • TA的每日心情

    2024-1-14 21:03
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    1

    主题

    9

    帖子

    101

    积分

    注册会员

    Rank: 2

    积分
    101
    发表于 2021-12-13 11:46:54 | 显示全部楼层
    先看看
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    0

    帖子

    182

    积分

    注册会员

    Rank: 2

    积分
    182
    发表于 2021-12-13 12:05:34 | 显示全部楼层
    先看看
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    0

    帖子

    139

    积分

    注册会员

    Rank: 2

    积分
    139
    发表于 2021-12-13 12:51:39 | 显示全部楼层
    66666
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    0

    帖子

    1656

    积分

    游客

    积分
    1656
    发表于 2021-12-13 13:06:43 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2023-12-10 19:53
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    0

    主题

    4

    帖子

    707

    积分

    高级会员

    Rank: 4

    积分
    707
    发表于 2021-12-13 13:48:44 | 显示全部楼层
    看看学习一下
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    0

    帖子

    8

    积分

    新手上路

    Rank: 1

    积分
    8
    发表于 2021-12-13 13:57:02 | 显示全部楼层
    奥术大师
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|妖孽游戏素材网|91引擎爱好者

    GMT+8, 2024-3-28 20:50 , Processed in 0.098593 second(s), 26 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表