文本
文本也是一种语言,让我们更能了解用户界面。
文本在界面中更是缺少不了的元素!
提示:以下属性仅适用于 label 控件类型。
属性
属性 | 属性名 | 值 | 默认值 | 描述 |
---|---|---|---|---|
text | 文字 | 字符串 | 定义文本控件显示的文字 可以使用 § 符号进行改变颜色 同时可以使用.lang文件翻译来改变文本语言。 [1] | |
color | 颜色 | 字符串:列举 或 数组:RGB数组 | white | 改变该控件颜色。颜色不会传递到子控件。 值作为字符串时,可能为: 值作为“[R,G,B,A]”数组时,可能为: RGB转为RGB数组 |
locked_color | 锁定时的颜色 | 数组 或 字符串 | 控件在禁用时,所显示的颜色。 与"color"的性质相同,不再详细介绍。 | |
shadow | 文本阴影 | 布尔值 | false | 是否显示文本阴影。 |
hide_hyphen | 是否隐藏文本中的连字符 | 布尔值 | false | 是否隐藏文本中的连字符(既 “-” 字符)。 |
notify_on_ellipses | 遇到省略号时通知的文本 | 数组 | 如果文本遇到省略号时,要通知的文本。 用于通知文本何时使用省略号。 例如: | |
enable_profanity_filter | 启用敏感词过滤器 | 布尔值 | true | 启用后控件中的敏感词作为“***”显示。 [2] |
font_size | 字体大小 | 字符串:列举 | normal | 该控件文本的字体大小。 列举的值有: |
font_scale_factor | 字体缩放大小 | 浮点数 | 1.0 | 用于改变字体缩放大小。 |
localize | 本地化 | 布尔值 | false | 文本控件的文本是否支持本地化。 (本地化:文本不会被 .lang 文件翻译) |
line_padding | 行间距 | 浮点数 | 0.0 | 改变文本每行之间的间距。 |
font_type | 字体 | 字符串:列举 | default | 文本控件中的文本字体。 [3] 列举的值有: 以及 fonts/font_metadata.json 文件中声明的字体 |
backup_font_type | 备份字体 | 字符串:列举 | default | 文本控件中的文本备份字体。既 font_type 字体无法使用时使用的备用字体。 [3] 列举的值有: 以及 fonts/font_metadata.json 文件中声明的字体 |
text_alignment | 文本对齐 | 字符串:列举 | center | 文本的对齐方式,会随着锚点的改变而改变。 列举的值有: |
不同语言的文字
上表提到了 .lang 文件,接下来研究一下不同语言的文字吧!
我们用这个文字控件示例
RP/ui/start_screen.json
1
2
3
4
"label": { "type": "label", "text": "test.lang"}
"text" 的文字尽量不能包含 = # 以及 空格
回到游戏可以看到,文本控件显示的是
再把 游戏的语言[1] 切换到 "English (US)" ,可以看到文本控件显示的是
- 切换游戏语言步骤:Minecraft > 设置 > 语言 > 选择某个语言
代码示例
简单的文本控件
1
2
3
4
"label": { "type": "label", "text": "test"}
强制unicode的文本控件
1
2
3
4
5
"label": { "type": "label", "text": "test", "font_type": "unicode"}
使用notify_on_ellipses的文本控件
1
2
3
4
5
6
7
"label": { "type": "label", "text": "hello world", "notify_on_ellipses": [ "hello" ]}