我的世界基岩版 UI 文档

引用

引用,就是使用其他控件的属性和变量。

下面我们来探究一下什么是引用吧!

RP/ui/start_screen.json
1
2
3
4
5
6
7
8
9
10
11
"text": {
"type": "text",
"size": [ "default", "100%" ],
"text": "a"
},
"text_2": {
"type": "text",
"size": [ "default", "100%" ],
"text": "b"
}

由上方的代码块可知,我们可以使用引用减少重复属性:

RP/ui/start_screen.json
1
2
3
4
5
6
7
"text@text_common": {"text": "a"},
"text_2@text_common": {"text": "b"},
"text_common": {
"type": "text",
"size": [ "default", "100%" ]
}

这样,text、text_2控件都能用到type和size的值 并且值是相同

那么引用只需要在在控件名后加上@控件名,格式为 "controlName@namespace.otherControlName"。

controlName 为控件名,namespace 为引用控件所在的文件的命名空间,otherControlName 为引用控件的控件名。

这样就能在这个控件引用其他控件的属性值了!

引用变量

引用布仅可以使用其他控件的属性,也可以使用其他控件的变量:

RP/ui/start_screen.json
1
2
3
4
5
6
7
8
"text@text_common": {"$a": "a"},
"text_2@text_common": {"$a": "b"},
"text_common": {
"type": "text",
"size": [ "default", "100%" ],
"text": "$a"
}

继承引用

如下面代码块所示,@$变量就可以使用继承引用了

RP/ui/start_screen.json
1
2
3
4
5
6
7
"panel": {
"type": "panel",
"$b": "控件名",
"controls": [
{"a@$b": {}}
]
}

接着,给变量赋值
看到上方代码所示

赋值只需要"$变量": "控件名"

命名空间

命名控件是一个 JSON UI 文件的标识符,每次新建一个新的 JSON UI 文档都需要它,它甚至在跨文件引用中起到很大的作用。

不过,在使用它时,尽量避免命名空间重复。修改原版的 UI 文件时,也可以忽略掉命名空间,因为他已经在原版文件中声明了,并且 UI 文件的内容会与原版的 UI 文件的内容合并。

RP/ui/start_screen.json
1
{"namespace": "start_screen"}

跨文件引用

跨文件引用它可以帮助我们整理控件,以免控件都在单独一个文件中,让文件杂乱无章。

在了解跨文件引用之前,我们需要了解到 命名空间 以及 跨文件引用的格式:
"控件名@命名空间.控件名"

如果你想新建一个文件储存某一些控件,你还需要了解 UI文件定义,并且还要给这个文件定义命名空间,之后引用这个命名空间中的控件就行了~

版权声明- 除非另有说明,否则文档内容均采用CC BY-NC-SA 4.0许可协议
- 此网站与 Mojang Studios 以及微软无任何从属关系
- 转载需要作者同意,并且标明内容来自于本网站
 导航&目录