- 致编者:请牢记我们的域名wiki.mcbe-dev.net!
- 致编者:欢迎加入本Wiki的官方交流QQ群或Discord服务器!
- 基岩版1.19.31现已发布!(了解更多)
- Inner Core现已支持Xbox模组联机!(了解更多)
- 如果您是第一次来到本Wiki,欢迎注册一个账户
- 点击顶部的“编辑”或“编辑源代码”按钮即可编辑当前页面
- 请知悉:在不登录时也可以编辑和新建页面,但是您当前的IP地址会记录在编辑历史中
手册:JSON UI
本页面列出了所有的JSON UI接口。
文件[编辑]
JSON UI有两个硬编码文件路径,分别用于控制JSON UI的定义文件和全局变量。资源包目录下的<rp>/ui/_ui_defs.json用于存储在资源包加载时需要解析的所有JSON UI定义文件的路径,<rp>/ui/_global_variables.json用于存储所有JSON UI定义文件中共享的全局变量,其中<rp>
代表资源包的路径。
其他的JSON UI文件皆为UI定义文件,负责定义每一个场景屏幕。需要注意的是,只有在_ui_defs.json中列出的UI定义文件才会在资源包加载时被解析和渲染,_ui_defs.json中没有列出的UI定义文件不会被解析。UI定义文件未必必须出现在资源包的ui文件夹内,无论其出现在资源包的任何位置,只要在_ui_defs.json中将其列出即可使其被解析并正常发挥功能。
JSON UI中涉及的所有同名文件都会在包加载时进行合并,后加载的文件会合并进入先前加载的同名文件,而非直接覆盖。
结构[编辑]
_ui_defs.json的文件结构如下:
- _ui_defs.json:UI定义列表文件。
- *ui_defs:UI定义文件的列表。
- :一个UI定义文件相对于资源包根目录的相对路径。例如<rp>/ui/<ui_file_name>.json需要填写为
ui/<ui_file_name>.json
- :一个UI定义文件相对于资源包根目录的相对路径。例如<rp>/ui/<ui_file_name>.json需要填写为
- *ui_defs:UI定义文件的列表。
_global_variables.json的文件结构如下:
- _global_variables.json:全局变量文件。
- $<variable_name>:一个变量定义,其中
<variable_name>
代表任意一个变量名。
- $<variable_name>:一个变量定义,其中
每个UI定义文件的文件结构如下:
- <ui_file_name>.json:一个JSON UI文件。
- *namespace:该文件的命名空间。
- <control_name>[@<inherited_control_namespace>.<inherited_control_name>]:一个控件,其中
<control_name>
为该控件的名称,<inherited_control_namespace>
为该控件所继承的父控件的命名空间,<inherited_control_name>
为该控件所继承的父控件的名称,继承是可选的,即@
及其之后的内容可以不存在,这代表着该控件不继承任何控件。例如control_1@wiki.control_0
代表着该控件名称为control_1
,继承了wiki
命名空间下的名称为control_0
的控件。- 完整控件属性结构 参见Manual:JSON UI/General
- <animation_name>[@<inherited_animation_namespace>.<inherited_animation_name>]:一个动画,键名中与控件的继承格式相同。
控件[编辑]
每个控件都由一组初始化字段、一组根据控件类型不同而不同的组件字段、一个控件树字段和一组后创建字段构成。初始化字段包含定义该控件的类型、该控件是否在初始化时被忽略以及初始化该控件内所有变量的字段;组件字段包括一组控件共同字段和各种组件字段;控件树字段即controls
字段,用于定义该控件的所有子控件;后创建字段里包含各种杂项字段。每个控件的结构如下:
- <control_name>[@<inherited_control_namespace>.<inherited_control_name>]:一个控件。
- *type:该控件的类型,可以填写一个UI定义类型字符串。当该控件不是一个继承自其他控件的控件时,该字段是必须字段。
- ignored:该控件是否在解析定义时被忽略,默认为
false
。可以是一个最终计算结果为布尔值的字符串表达式。 - $<variable_name>[|default]:添加一个自定义变量,其中
<variable_name>
代表任意一个变量名,如果键名末尾带有可选的|default
代表着该值为该变量的默认值。例如,$some_variable|default
意味着定义了一个名为some_variable
的变量,且该变量在该处定义的值为整个控件树和继承树中出现该变量时选取的默认值。 - variables[①]:添加一组自定义变量。
- requires:该组变量定义的条件,需要该字段非空、非零或字符串表达式的计算结果非空、非零。否则,该组内的各变量不会得到定义。
- $<variable_name>[|default]:在该组中添加一个自定义变量。
- variables[②]:添加多组自定义变量。
- :添加某一组自定义变量。
- requires:该组变量定义的条件,需要该字段非空、非零或字符串表达式的计算结果非空、非零。否则,该组内的各变量不会得到定义。
- $<variable_name>[|default]:在该组中添加一个自定义变量。
- :添加某一组自定义变量。
- 当类型为
button
(按钮控件)时的额外字段 参见Manual:JSON_UI/Button - 当类型为
custom
(自定义控件)时的额外字段 参见Manual:JSON UI/Custom - 当类型为
dropdown
(下拉菜单控件)时的额外字段 参见Manual:JSON UI/Dropdown - 当类型为
edit_box
(编辑框控件)时的额外字段 参见Manual:JSON UI/EditBox - 当类型为
factory
(工厂控件)时的额外字段 参见Manual:JSON UI/Factory - 当类型为
grid
(网格控件)时的额外字段 参见Manual:JSON UI/Grid - 当类型为
image
(图像控件)时的额外字段 参见Manual:JSON UI/Image - 当类型为
input_panel
(输入面板控件)时的额外字段 参见Manual:JSON UI/InputPanel - 当类型为
label
(标签控件)时的额外字段 参见Manual:JSON UI/Label - 当类型为
panel
(面板控件)时的额外字段 参见Manual:JSON UI/Panel - 当类型为
screen
(屏幕控件)时的额外字段 参见Manual:JSON UI/Screen - 当类型为
scrollbar_box
(滚动栏框控件)时的额外字段 参见Manual:JSON UI/ScrollbarBox - 当类型为
scroll_track
(滚动跟踪控件)时的额外字段 参见Manual:JSON UI/ScrollTrack - 当类型为
scroll_view
(滚动视图控件)时的额外字段 参见Manual:JSON UI/ScrollView - 当类型为
selection_wheel
(选轮控件)时的额外字段 参见Manual:JSON UI/SelectionWheel - 当类型为
slider
(滑块控件)时的额外字段 参见Manual:JSON UI/Slider - 当类型为
slider_box
(滑块框控件)时的额外字段 参见Manual:JSON UI/SliderBox - 当类型为
stack_panel
(栈面板控件)时的额外字段 参见Manual:JSON UI/StackPanel - 当类型为
toggle
(开关控件)时的额外字段 参见Manual:JSON UI/Toggle - controls:该控件的子控件。
- <control_name>[@<inherited_control_namespace>.<inherited_control_name>]:一个子控件。
- 完整控件属性结构 参见Manual:JSON UI/General
- <control_name>[@<inherited_control_namespace>.<inherited_control_name>]:一个子控件。
- 控件的后创建字段 参见Manual:JSON_UI/PostCreate
控件可以在控件名处使用@
运算符继承一个其他控件,继承的控件可以来自于当前命名空间,也可以来自于其他命名空间,这被称作一个控件引用。当继承的控件来自于当前命名空间时,命名空间部分可以省略,形如<control_name>@<inherited_control_name>
,否则命名空间必须要写在@
之后,继承的控件的控件名之前,并与控件名通过.
隔开,形如<control_name>@<inherited_control_namespace>.<inherited_control_name>
。引擎接受一个空控件名的仅继承其他控件的控件,形如@<inherited_control_name>
或@<inherited_control_namespace>.<inherited_control_name>
,但这是事实上是一种不推荐的写法,因为这会造成控件树中出现一个空节点,不利于之后在其他包的同名JSON UI文件中修改或者逻辑代码部分执行逻辑时在控件树中定位到正确的控件,因此在一个可以触发断言的Minecraft构建中,这种控件引用会引发断言失败。但是,在工厂控件等一些特殊的位置中,仅继承而不带有控件名的控件引用是可以正常接受的。@
的前后两部分皆接受使用一个变量来相对动态地修改组件名和继承的组件名,引擎会在控件树中解析到该控件时首先对控件名做变量替换,然后再将其加入控件树并解析其剩余部分。
解析不同的控件类型的控件时使用的组件皆不相同。下面分别列出了每一种控件类型在解析时会用到的所有组件。
按钮[编辑]
- <control_name>@<inherited_control_namespace>.<inherited_control_name>:一个按钮控件。
- type:该控件的类型,此处应为
button
。 - 控件共通字段 参见Template:Nbt inherit/json ui/control/template
- 按钮组件字段 参见Template:Nbt inherit/json ui/button component/template
- 数据绑定组件字段 参见Template:Nbt inherit/json ui/data binding component/template
- 焦点组件字段 参见Template:Nbt inherit/json ui/focus component/template
- 输入组件字段 参见Template:Nbt inherit/json ui/input component/template
- 布局组件字段 参见Template:Nbt inherit/json ui/layout component/template
- 声音组件字段 参见Template:Nbt inherit/json ui/sound component/template
- 文本转语音组件字段 参见Template:Nbt inherit/json ui/text to speech component/template
- type:该控件的类型,此处应为
自定义[编辑]
- <control_name>@<inherited_control_namespace>.<inherited_control_name>:一个自定义控件。
- type:该控件的类型,此处应为
custom
。 - 控件共通字段 参见Template:Nbt inherit/json ui/control/template
- 自定义渲染组件字段 参见Manual:JSON_UI/CustomRenderComponent
- 数据绑定组件字段 参见Template:Nbt inherit/json ui/data binding component/template
- 布局组件字段 参见Template:Nbt inherit/json ui/layout component/template
- type:该控件的类型,此处应为
下拉菜单[编辑]
- <control_name>@<inherited_control_namespace>.<inherited_control_name>:一个下拉菜单控件。
- type:该控件的类型,此处应为
dropdown
。 - 控件共通字段 参见Template:Nbt inherit/json ui/control/template
- 数据绑定组件字段 参见Template:Nbt inherit/json ui/data binding component/template
- 焦点组件字段 参见Template:Nbt inherit/json ui/focus component/template
- 输入组件字段 参见Template:Nbt inherit/json ui/input component/template
- 布局组件字段 参见Template:Nbt inherit/json ui/layout component/template
- 声音组件字段 参见Template:Nbt inherit/json ui/sound component/template
- 开关组件字段 参见Manual:JSON_UI/ToggleComponent
- 下拉菜单组件字段 参见Manual:JSON_UI/DropdownComponent
- 文本转语音组件字段 参见Template:Nbt inherit/json ui/text to speech component/template
- type:该控件的类型,此处应为
编辑框[编辑]
- <control_name>@<inherited_control_namespace>.<inherited_control_name>:一个编辑框控件。
- type:该控件的类型,此处应为
edit_box
。 - 控件共通字段 参见Template:Nbt inherit/json ui/control/template
- 按钮组件字段 参见Template:Nbt inherit/json ui/button component/template
- 数据绑定组件字段 参见Template:Nbt inherit/json ui/data binding component/template
- 焦点组件字段 参见Template:Nbt inherit/json ui/focus component/template
- 输入组件字段 参见Template:Nbt inherit/json ui/input component/template
- 布局组件字段 参见Template:Nbt inherit/json ui/layout component/template
- 文本编辑组件字段 参见Manual:JSON_UI/TextEditComponent
- 文本转语音组件字段 参见Template:Nbt inherit/json ui/text to speech component/template
- type:该控件的类型,此处应为
工厂[编辑]
- <control_name>@<inherited_control_namespace>.<inherited_control_name>:一个工厂控件。
- type:该控件的类型,此处应为
factory
。 - 控件共通字段 参见Template:Nbt inherit/json ui/control/template
- 布局组件字段 参见Template:Nbt inherit/json ui/layout component/template
- type:该控件的类型,此处应为
网格[编辑]
- <control_name>@<inherited_control_namespace>.<inherited_control_name>:一个网格控件。
- type:该控件的类型,此处应为
grid
。 - 控件共通字段 参见Template:Nbt inherit/json ui/control/template
- 焦点组件字段 参见Template:Nbt inherit/json ui/focus component/template
- 网格组件字段 参见Manual:JSON_UI/GridComponent
- 布局组件字段 参见Template:Nbt inherit/json ui/layout component/template
- 数据绑定组件字段 参见Template:Nbt inherit/json ui/data binding component/template
- type:该控件的类型,此处应为
图像[编辑]
- <control_name>@<inherited_control_namespace>.<inherited_control_name>:一个图像控件。
- type:该控件的类型,此处应为
image
。 - 控件共通字段 参见Template:Nbt inherit/json ui/control/template
- 数据绑定组件字段 参见Template:Nbt inherit/json ui/data binding component/template
- 布局组件字段 参见Template:Nbt inherit/json ui/layout component/template
- 精灵图组件字段 参见Manual:JSON_UI/SpriteComponent
- type:该控件的类型,此处应为
输入面板[编辑]
- <control_name>@<inherited_control_namespace>.<inherited_control_name>:一个输入面板控件。
- type:该控件的类型,此处应为
input_panel
。 - 控件共通字段 参见Template:Nbt inherit/json ui/control/template
- 数据绑定组件字段 参见Template:Nbt inherit/json ui/data binding component/template
- 焦点组件字段 参见Template:Nbt inherit/json ui/focus component/template
- 输入组件字段 参见Template:Nbt inherit/json ui/input component/template
- 布局组件字段 参见Template:Nbt inherit/json ui/layout component/template
- 手势组件字段 参见Manual:JSON_UI/GestureComponent
- 声音组件字段 参见Template:Nbt inherit/json ui/sound component/template
- 文本转语音组件字段 参见Template:Nbt inherit/json ui/text to speech component/template
- type:该控件的类型,此处应为
标签[编辑]
- <control_name>@<inherited_control_namespace>.<inherited_control_name>:一个标签控件。
- type:该控件的类型,此处应为
label
。 - 控件共通字段 参见Template:Nbt inherit/json ui/control/template
- 数据绑定组件字段 参见Template:Nbt inherit/json ui/data binding component/template
- 布局组件字段 参见Template:Nbt inherit/json ui/layout component/template
- 文本组件字段 参见Manual:JSON_UI/TextComponent
- 文本转语音组件字段 参见Template:Nbt inherit/json ui/text to speech component/template
- type:该控件的类型,此处应为
面板[编辑]
- <control_name>@<inherited_control_namespace>.<inherited_control_name>:一个面板控件。
- type:该控件的类型,此处应为
panel
。 - 控件共通字段 参见Template:Nbt inherit/json ui/control/template
- 数据绑定组件字段 参见Template:Nbt inherit/json ui/data binding component/template
- 布局组件字段 参见Template:Nbt inherit/json ui/layout component/template
- type:该控件的类型,此处应为
屏幕[编辑]
- <control_name>@<inherited_control_namespace>.<inherited_control_name>:一个屏幕控件。
- type:该控件的类型,此处应为
screen
。 - 控件共通字段 参见Template:Nbt inherit/json ui/control/template
- 数据绑定组件字段 参见Template:Nbt inherit/json ui/data binding component/template
- 输入组件字段 参见Template:Nbt inherit/json ui/input component/template
- 布局组件字段 参见Template:Nbt inherit/json ui/layout component/template
- 屏幕组件字段 参见Manual:JSON_UI/ScreenSettings
- 声音组件字段 参见Template:Nbt inherit/json ui/sound component/template
- type:该控件的类型,此处应为
滚动条框[编辑]
- <control_name>@<inherited_control_namespace>.<inherited_control_name>:一个滚动条框控件。
- type:该控件的类型,此处应为
scrollbar_box
。 - 控件共通字段 参见Template:Nbt inherit/json ui/control/template
- 输入组件字段 参见Template:Nbt inherit/json ui/input component/template
- 布局组件字段 参见Template:Nbt inherit/json ui/layout component/template
- 滚动条框组件字段 参见Manual:JSON_UI/ScrollbarBoxComponent
- type:该控件的类型,此处应为
滚动跟踪[编辑]
- <control_name>@<inherited_control_namespace>.<inherited_control_name>:一个滚动跟踪控件。
- type:该控件的类型,此处应为
scroll_track
。 - 控件共通字段 参见Template:Nbt inherit/json ui/control/template
- 输入组件字段 参见Template:Nbt inherit/json ui/input component/template
- 布局组件字段 参见Template:Nbt inherit/json ui/layout component/template
- 滚动条组件字段 参见Manual:JSON_UI/ScrollTrackComponent
- type:该控件的类型,此处应为
滚动视图[编辑]
- <control_name>@<inherited_control_namespace>.<inherited_control_name>:一个滚动视图控件。
- type:该控件的类型,此处应为
scroll_view
。 - 控件共通字段 参见Template:Nbt inherit/json ui/control/template
- 数据绑定组件字段 参见Template:Nbt inherit/json ui/data binding component/template
- 输入组件字段 参见Template:Nbt inherit/json ui/input component/template
- 布局组件字段 参见Template:Nbt inherit/json ui/layout component/template
- 滚动视图组件字段 参见Manual:JSON_UI/ScrollViewComponent
- type:该控件的类型,此处应为
选轮[编辑]
- <control_name>@<inherited_control_namespace>.<inherited_control_name>:一个选轮控件。
- type:该控件的类型,此处应为
selection_wheel
。 - 控件共通字段 参见Template:Nbt inherit/json ui/control/template
- 选轮组件字段 参见Manual:JSON_UI/SelectionWheelComponent
- 数据绑定组件字段 参见Template:Nbt inherit/json ui/data binding component/template
- 焦点组件字段 参见Template:Nbt inherit/json ui/focus component/template
- 输入组件字段 参见Template:Nbt inherit/json ui/input component/template
- 布局组件字段 参见Template:Nbt inherit/json ui/layout component/template
- 声音组件字段 参见Template:Nbt inherit/json ui/sound component/template
- 文本转语音组件字段 参见Template:Nbt inherit/json ui/text to speech component/template
- type:该控件的类型,此处应为
滑块[编辑]
- <control_name>@<inherited_control_namespace>.<inherited_control_name>:一个滑块控件。
- type:该控件的类型,此处应为
slider
。 - 控件共通字段 参见Template:Nbt inherit/json ui/control/template
- 焦点组件字段 参见Template:Nbt inherit/json ui/focus component/template
- 输入组件字段 参见Template:Nbt inherit/json ui/input component/template
- 布局组件字段 参见Template:Nbt inherit/json ui/layout component/template
- 滑块组件字段 参见Manual:JSON_UI/SliderComponent
- 数据绑定组件字段 参见Template:Nbt inherit/json ui/data binding component/template
- 声音组件字段 参见Template:Nbt inherit/json ui/sound component/template
- 文本转语音组件字段 参见Template:Nbt inherit/json ui/text to speech component/template
- type:该控件的类型,此处应为
滑块框[编辑]
- <control_name>@<inherited_control_namespace>.<inherited_control_name>:一个滑块框控件。
- type:该控件的类型,此处应为
slider_box
。 - 控件共通字段 参见Template:Nbt inherit/json ui/control/template
- 输入组件字段 参见Template:Nbt inherit/json ui/input component/template
- 布局组件字段 参见Template:Nbt inherit/json ui/layout component/template
- 滑块框组件字段 参见Manual:JSON_UI/SliderBoxComponent
- 数据绑定组件字段 参见Template:Nbt inherit/json ui/data binding component/template
- type:该控件的类型,此处应为
栈面板[编辑]
- <control_name>@<inherited_control_namespace>.<inherited_control_name>:一个栈面板控件。
- type:该控件的类型,此处应为
stack_panel
。 - 控件共通字段 参见Template:Nbt inherit/json ui/control/template
- 合集组件字段 参见Manual:JSON_UI/CollectionComponent
- 数据绑定组件字段 参见Template:Nbt inherit/json ui/data binding component/template
- 布局组件字段 参见Template:Nbt inherit/json ui/layout component/template
- 栈面板组件字段 参见Manual:JSON_UI/StackPanelComponent
- type:该控件的类型,此处应为
开关[编辑]
- <control_name>@<inherited_control_namespace>.<inherited_control_name>:一个开关控件。
- type:该控件的类型,此处应为
toggle
。 - 控件共通字段 参见Template:Nbt inherit/json ui/control/template
- 数据绑定组件字段 参见Template:Nbt inherit/json ui/data binding component/template
- 焦点组件字段 参见Template:Nbt inherit/json ui/focus component/template
- 输入组件字段 参见Template:Nbt inherit/json ui/input component/template
- 布局组件字段 参见Template:Nbt inherit/json ui/layout component/template
- 声音组件字段 参见Template:Nbt inherit/json ui/sound component/template
- 开关组件字段 参见Manual:JSON_UI/ToggleComponent
- 文本转语音组件字段 参见Template:Nbt inherit/json ui/text to speech component/template
- type:该控件的类型,此处应为
动画[编辑]
透明度[编辑]
- <animation_name>[@<inherited_animation_namespace>.<inherited_animation_name>:一个透明度动画。
- anim_type:该动画的类型,此处应为
alpha
。Manual:JSON UI/UIAnimAlpha
- anim_type:该动画的类型,此处应为
裁剪[编辑]
- <animation_name>[@<inherited_animation_namespace>.<inherited_animation_name>:一个裁剪动画。
- anim_type:该动画的类型,此处应为
clip
。Manual:JSON UI/UIAnimClip
- anim_type:该动画的类型,此处应为
颜色[编辑]
- <animation_name>[@<inherited_animation_namespace>.<inherited_animation_name>:一个颜色动画。
- anim_type:该动画的类型,此处应为
color
。Manual:JSON UI/UIAnimColor
- anim_type:该动画的类型,此处应为
翻书[编辑]
- <animation_name>[@<inherited_animation_namespace>.<inherited_animation_name>:一个翻书动画。
- anim_type:该动画的类型,此处应为
flip_book
。Manual:JSON UI/UIAnimFlipbook
- anim_type:该动画的类型,此处应为
Aseprite翻书[编辑]
- <animation_name>[@<inherited_animation_namespace>.<inherited_animation_name>:一个Aseprite翻书动画。
- anim_type:该动画的类型,此处应为
aseprite_flip_book
。Manual:JSON UI/UIAsepriteFlipbook
- anim_type:该动画的类型,此处应为
偏移量[编辑]
- <animation_name>[@<inherited_animation_namespace>.<inherited_animation_name>:一个偏移量动画。
- anim_type:该动画的类型,此处应为
offset
。Manual:JSON UI/UIAnimLayout
- anim_type:该动画的类型,此处应为
尺寸[编辑]
- <animation_name>[@<inherited_animation_namespace>.<inherited_animation_name>:一个尺寸动画。
- anim_type:该动画的类型,此处应为
size
。Manual:JSON UI/UIAnimLayout
- anim_type:该动画的类型,此处应为
UV[编辑]
- <animation_name>[@<inherited_animation_namespace>.<inherited_animation_name>:一个UV动画。
- anim_type:该动画的类型,此处应为
uv
。Manual:JSON UI/UIAnimUV
- anim_type:该动画的类型,此处应为
等待[编辑]
- <animation_name>[@<inherited_animation_namespace>.<inherited_animation_name>:一个等待动画。
- anim_type:该动画的类型,此处应为
wait
。Manual:JSON UI/UIAnim
- anim_type:该动画的类型,此处应为
变量[编辑]
此处变量指能应用全局ui-json文件的带有$
的一系列字段。此类字段既可在_global_variables.json
文件中被申明,也可单独使用,以及配置在一定条件下的应用。
作为JSON-UI为数不多可被灵活运用的一大变量,全局变量因极高的自由度被广大编辑者青睐,尽管此处的变量无法参与复杂的运算以及与函数发生作用,但在一定的范围内,它的出现提供了无限的可能性。下面列举几个常用的全局变量的使用情况。
编码特定批量属性变量[编辑]
对于一些控件组来说,往往有大量的重复变量,使用全局变量来编码这些重复变量能够大幅度减少代码量。例如,对于一个自定义的按钮组控件,具有default
、hover
、pressed
三种状态的子控件(locked_control
变量空),可以引用相同的全局变量如$demo_buttons_panel
,在type
为button
的主控件下申明一个值为特定按钮面板的全局变量$demo_buttons_panel
,最后在该按钮面板设定一系列类似的全局变量来完善此按钮组控件。
参与简单整数运算[编辑]
全局变量所属变量类型遵循其设定变量的类型,因此当设定变量可以进行整数(浮点)运算时全局变量也能够进行运算。比较常见的,是对alpha
变量做加减运算,通常是在动画中实现幻灯片效果亦或动态图片,同时在grid
控件中的运用也能极大减少代码量与减少手工修订的工作量。不过,对于后者,并不推荐对collection_index
变量使用全局变量来简化运算,因为通常以硬编码形式存在的grid组件往往会随版本更新产生很大的差异,同时也就造成了对应指数的改变,因此要因地制宜地选择是否使用全局变量来简化运算。
配合variables
变量实现简易条件判定[编辑]
对于全局变量来说,它能够定义一系列独立于各控件的全类型参数,因此可以在各个子控件变量中引入私有全局变量来控制其属性,在上层节点中利用variables
来决定特定控件的显示与内容的差异性,由此产生的条件判定能产生极大的便利。
利用bindings
枚举呈现自定义界面[编辑]
绑定[编辑]
表达式[编辑]
布局轴值表达式[编辑]
UI表达式[编辑]
枚举[编辑]
UI定义类型[编辑]
控件类型由每个控件的type
字段的取值决定。以下列出了所有的控件类型。
键名 | 值 | 接口字符串 | 可用性 | 描述 | |
---|---|---|---|---|---|
国际版 | 中国版 | ||||
Button |
0 | button |
可用 | 可用 | 按钮 |
Custom |
1 | custom |
可用 | 可用 | 自定义,可以配合renderer 字段呈现硬编码的JSON UI元素,例如当renderer 值为gradient_renderer 时使用color1 字段与color2 字段来渲染渐变纯色色块
|
Dropdown |
2 | dropdown |
可用 | 可用 | 下拉菜单,本质上是下拉菜单的顶层体现,默认引用toggle 的纹理设置(未做定制化处理时使用需配合input_panel 且必须挂接在统一面板内,否则会导致当前Minecraft实例冻结)
|
EditBox |
3 | edit_box |
可用 | 可用 | 编辑框 |
Factory |
4 | factory |
可用 | 可用 | 工厂,满足给定条件后由硬编码决定的JSON UI元素渲染,配合control_name 字段或control_ids 字段使用,例如当control_name 值为selected_item_details 时,处于触控等条件下选中inventory 等处的特定网格后渲染item_text_label (注:工厂控件是根据控件名和控件节点的路径来硬编码的,即此处示例selected_item_details 后@common.selected_item_details 并不重要,且能修改来自定义工厂控件)
|
Grid |
5 | grid |
可用 | 可用 | 网格 |
Image |
6 | image |
可用 | 可用 | 图像 |
InputPanel |
7 | input_panel |
可用 | 可用 | 输入面板,通常情况下需配合特定对象使用,如下拉菜单、网格、屏幕、滚动相关控件等 |
Label |
8 | label |
可用 | 可用 | 标签,文本对象 |
Panel |
9 | panel |
可用 | 可用 | 面板,没有额外功能的普通面板 |
Screen |
10 | screen |
可用 | 可用 | 屏幕,为最终显示在场景栈中的控件,其他所有控件需挂接在该控件的控件树下 |
ScrollbarBox |
11 | scrollbar_box |
可用 | 可用 | 滚动条框,一个支持垂直滚动控件 |
ScrollTrack |
12 | scroll_track |
可用 | 可用 | 滚动跟踪 |
ScrollView |
13 | scroll_track |
可用 | 可用 | 滚动视图 |
SelectionWheel |
14 | selection_wheel |
可用 | 可用 | 选轮,原版中用于支持动作表情系统,出现在在命名空间persona 内
|
Slider |
15 | slider |
可用 | 可用 | 滑块 |
SliderBox |
16 | slider_box |
可用 | 可用 | 滑块框 |
StackPanel |
17 | stack_panel |
可用 | 可用 | 栈面板,当横向大小设为100%c 后anchor_from 与anchor_to 变量生效
|
Toggle |
18 | toggle |
可用 | 可用 | 开关,当toggle_default_state 字段为真且被具有toggle_name 、toggle_group_forced_index 、toggle_group_default_selected 、toggle_grid_collection_name 字段后可作为标签页使用
|
Combox |
19 | combox |
不可用 | 可用 | 组合框 |
Layout |
20 | layout |
不可用 | 可用 | 布局 |
StackGrid |
21 | stack_grid |
不可用 | 可用 | 栈网格 |
Joystick |
22 | joystick |
不可用 | 可用 | 摇杆 |
RichText |
23 | rich_text |
不可用 | 可用 | 富文本 |
SixteenNineLayout |
24 | sixteen_nine_layout |
不可用 | 可用 | 16-9布局 |
MulLinesEdit |
25 | mul_lines |
不可用 | 可用 | 多行编辑框 |
AminProcessBar [原文如此] |
26 | anim_porecess_bar [原文如此] |
不可用 | 可用 | 动画处理条 |
绑定类型[编辑]
绑定类型由每个绑定的binding_type
字段的取值决定。以下列出了所有的绑定类型。
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
None |
0 | none |
无 |
Global |
1 | global |
全局绑定 |
Collection |
2 | collection |
合集绑定 |
CollectionDetails |
3 | collection_details |
合集详情绑定 |
View |
4 | view |
查看绑定 |
绑定条件[编辑]
绑定条件由每个绑定的binding_condition
字段的取值决定。以下列出了所有的绑定条件。
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
None |
0 | none |
无 |
Once |
1 | once |
单次触发 |
Always |
2 | always |
总是触发 |
AlwaysWhenVisible |
3 | always_when_visible |
在可见状态时总是触发 |
Visible |
4 | visible |
当可见时触发 |
VisibilityChanged |
5 | visibility_changed |
当可见性发生变更时触发 |
按钮映射类型[编辑]
映射类型由每个按钮映射的mapping_type
字段的取值决定。以下列出了所有的映射类型。
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
Global |
0 | global |
全局映射 |
DoublePressed |
1 | double_pressed |
双击/两次按下时映射 |
Pressed |
2 | pressed |
单击/单次按下时映射 |
Focused |
3 | focused |
焦点在该控件上时映射 |
屏幕事件作用域[编辑]
作用域由每个按钮映射的scope
字段的取值决定。以下列出了所有的作用域。
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
Controller |
0 | controller |
控制器作用域 |
View |
1 | view |
视图作用域 |
按钮映射输入模式条件[编辑]
输入模式条件由每个按钮映射的input_mode_condition
字段的取值决定。以下列出了所有的输入模式条件。
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
None |
0 | any |
|
NotGaze |
1 | not_gaze |
|
GamepadAndNotGaze |
1 | gamepad_and_not_gaze |
锚点[编辑]
锚点位置由每个按控件的anchor_from
和anchor_to
字段的取值决定。以下列出了所有的锚点位置。
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
TopLeft |
0 | top_left |
左上 |
TopMiddle |
1 | top_middle |
中上 |
TopRight |
2 | top_right |
右上 |
LeftMiddle |
3 | left_middle |
左中 |
Center |
4 | center |
中央 |
RightMiddle |
5 | right_middle |
右中 |
BottomLeft |
6 | bottom_left |
左下 |
BottomMiddle |
7 | bottom_middle |
中下 |
BottomRight |
8 | bottom_right |
右下 |
可拖动性[编辑]
可拖动性由每个按钮控件的draggable
字段的取值决定。以下列出了所有的可拖动性。
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
NotDraggable |
0 | not_draggable |
不可拖动 |
Horizontal |
1 | horizontal |
竖直拖动 |
Vertical |
2 | vertical |
水平拖动 |
Both |
3 | both |
两个方向皆可拖动 |
布局轴值类型[编辑]
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
Absolute |
0 | 空字符串 | 仅使用一个数字表示绝对像素值,不使用相对值 |
ParentRelativeX |
1 | % |
仅在X坐标处可用,相对于父控件X值的百分比相对值 |
ParentRelativeY |
2 | % |
仅在Y坐标处可用,相对于父控件Y值的百分比相对值 |
SelfRelativeX |
3 | %x |
仅在Y坐标处可用,且仅在该控件的X坐标为绝对值时有效,相对于该控件X值的百分比相对值 |
SelfRelativeY |
4 | %y |
仅在X坐标处可用,且仅在该控件的Y坐标为绝对值时有效,相对于该控件Y值的百分比相对值 |
SizeOfChildrenX |
5 | %c |
仅在X坐标处可用,相对于子控件X总值的百分比相对值 |
SizeOfChildrenY |
6 | %c |
仅在Y坐标处可用,相对于子控件Y总值的百分比相对值 |
SizeOfLargestChildX |
7 | %cm |
仅在X坐标处可用,相对于X值最大的子控件X值的百分比相对值 |
SizeOfLargestChildY |
8 | %cm |
仅在Y坐标处可用,相对于Y值最大的子控件Y值的百分比相对值 |
SizeOfMaxSiblingWidth |
9 | %sm |
仅在X坐标处可用,相对于X值最大的兄弟控件X值的百分比相对值 |
SizeOfMaxSiblingHeight |
10 | %sm |
仅在Y坐标处可用,相对于Y值最大的兄弟控件Y值的百分比相对值 |
布局轴值偏移量容器类型[编辑]
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
Default |
0 | default |
默认,默认偏移量 |
Specified |
1 | 布局轴值表达式 | 指定,即直接使用一个布局轴值表达式来计算出一个指定的像素数 |
Fill |
2 | fill |
充满,填充满父控件 |
布局轴值运算符[编辑]
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
Add |
0 | + |
加 |
Subtract |
1 | - |
减 |
渲染器[编辑]
自定义渲染器由每个自定义控件的renderer
字段的取值决定。以下列出了所有的自定义渲染器。
接口字符串 | 国际版 | 中国版 | 描述 |
---|---|---|---|
inventory_item_renderer |
可用 | 可用 | 物品栏物品渲染器 |
background_renderer |
可用 | 可用 | 背景渲染器 |
trial_time_renderer |
可用 | 可用 | 试玩时间渲染器 |
live_horse_renderer |
可用 | 可用 | 实时马渲染器 |
hud_player_renderer |
可用 | 可用 | HUD玩家渲染器 |
live_player_renderer |
可用 | 可用 | 实时玩家渲染器 |
name_tag_renderer |
可用 | 可用 | 命名标签渲染器 |
paper_doll_renderer |
可用 | 可用 | 纸娃娃渲染器 |
netease_paper_doll_renderer |
不可用 | 可用 | 网易纸娃娃渲染器 |
netease_mini_map_renderer |
不可用 | 可用 | 网易小地图渲染器 |
splash_text_renderer |
可用 | 可用 | 闪烁标语文本渲染器 |
debug_screen_renderer |
可用 | 可用 | 调试屏幕渲染器 |
ui_holo_cursor |
可用 | 可用 | UI HoloLens光标 |
holographic_postrenderer |
可用 | 可用 | 全息图后渲染器 |
progress_bar_renderer |
可用 | 可用 | 进度条渲染器 |
hover_text_renderer |
可用 | 可用 | 悬停文本渲染器 |
enchanting_book_renderer |
可用 | 可用 | 附魔书渲染器 |
hotbar_renderer |
可用 | 可用 | 快捷栏渲染器 |
hotbar_cooldown_renderer |
可用 | 可用 | 快捷栏冷却渲染器 |
flying_item_renderer |
可用 | 可用 | 飞行物品渲染器 |
heart_renderer |
可用 | 可用 | 红心渲染器 |
horse_heart_renderer |
可用 | 可用 | 马红心渲染器 |
armor_renderer |
可用 | 可用 | 护甲渲染器 |
horse_jump_renderer |
可用 | 可用 | 马跳跃渲染器 |
hunger_renderer |
可用 | 可用 | 饥饿渲染器 |
bubbles_renderer |
可用 | 可用 | 气泡渲染器 |
vignette_renderer |
可用 | 可用 | 渐晕渲染器 |
cursor_renderer |
可用 | 可用 | 光标渲染器 |
progress_indicator_renderer |
可用 | 可用 | 进度指示器渲染器 |
mob_effects_renderer |
可用 | 可用 | 生物效果渲染器 |
camera_renderer |
可用 | 可用 | 相机渲染器 |
gradient_renderer |
可用 | 可用 | 渐变渲染器 |
panorama_renderer |
可用 | 可用 | 全景图渲染器 |
3d_structure_renderer |
可用 | 可用 | 3D结构渲染器 |
bohr_model_renderer |
可用 | 可用 | Bohr模型渲染器 |
web_view_renderer |
可用 | 可用 | 网络视图渲染器 |
actor_portrait_renderer |
可用 | 可用 | 活动对象肖像渲染器 |
banner_pattern_renderer |
可用 | 可用 | 旗帜图案渲染器 |
credits_renderer |
可用 | 可用 | 鸣谢渲染器 |
颜色[编辑]
键名 | 接口字符串 | 颜色 | 描述 |
---|---|---|---|
WHITE |
white |
#FFFFFFFF |
白色 |
GREY |
grey gray |
#7F7F7FFF[注 1] |
灰色 |
BLACK |
black |
#000000FF |
黑色 |
RED |
red |
#FF0000FF |
红色 |
GREEN |
green |
#00FF00FF |
绿色 |
BLUE |
blue |
#0000FFFF |
蓝色 |
YELLOW |
yellow |
#FFFF00FF |
黄色 |
ORANGE |
orange |
#D87F33FF[注 2] |
橙色 |
PURPLE |
purple |
#FF00FFFF |
紫色 |
CYAN |
cyan |
#00FFFFFF |
青色 |
PINK |
— | #F38BAAFF |
粉色 |
NIL |
nil |
#00000000 |
无色 |
SHADE_DOWN |
— | #7F7F7FFF[注 3] |
下阴影 |
SHADE_UP |
— | #FFFFFFFF |
上阴影 |
SHADE_NORTH_SOUTH |
— | #CCCCCCFF |
南北阴影 |
SHADE_WEST_EAST |
— | #999999FF |
东西阴影 |
MINECOIN_GOLD |
— | #DDD605FF[注 4] |
Minecoin金 |
纸娃娃渲染器旋转样式[编辑]
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
None |
0 | none |
无 |
Automatic |
1 | auto |
自动旋转 |
GestureX |
2 | gesture_x |
手势旋转X |
CustomY |
3 | custom_y |
自定义旋转Y |
Lerping |
4 | — | 线性插值旋转 |
网易纸娃娃渲染器旋转样式[编辑]
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
None |
0 | none |
无 |
Automatic |
1 | auto |
自动旋转 |
GestureX |
2 | gesture_x |
手势旋转X |
CustomY |
3 | custom_y |
自定义旋转Y |
渐变渲染器渐变方向[编辑]
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
Vertical |
0 | vertical |
垂直 |
Horizontal |
1 | horizontal |
水平 |
全景图渲染器旋转样式[编辑]
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
None |
0 | none |
无 |
Automatic |
1 | auto |
自动旋转 |
GestureX |
2 | gesture_x |
手势旋转X |
文本类型[编辑]
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
ExtendedASCII |
0 | ExtendedASCII |
扩展的ASCII |
IdentifierChars |
1 | IdentifierChars |
标识符字符 |
NumberChars |
2 | NumberChars |
数字字符 |
定向类型[编辑]
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
Horizontal |
0 | horizontal |
水平 |
Vertical |
1 | vertical |
垂直 |
None |
2 | none |
无 |
资源文件系统[编辑]
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
UserPackage |
0 | InUserPackage |
用户包,即附加包根目录 |
AppPackage |
1 | InAppPackage |
APP包,即应用程序根目录 |
Raw |
2 | RawPath |
原始路径,即绝对路径 |
RawPersistent |
3 | RawPersistent |
|
SettingsDir |
4 | InSettingDir |
设置目录,即com.mojang/minecraftpe或com.netease/minecraftpe |
ExternalDir |
5 | InExternalDir |
|
ServerPackage |
6 | InServerPackage |
|
DataDir |
7 | InDataDir |
|
UserDir |
8 | InUserDir |
|
ScreenshotsDir |
9 | InWorldDir |
截图目录,即世界存档根目录 |
StoreCache |
10 | StoreCache |
商店缓存 |
平铺方向[编辑]
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
None |
0 | — | 不平铺 |
X |
1 | x |
水平平铺 |
Y |
2 | y |
垂直平铺 |
Both |
3 | xy yx |
双向平铺 |
裁剪方向[编辑]
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
None |
0 | — | 无裁剪 |
Left |
1 | left |
左侧裁剪 |
Right |
2 | right |
右侧裁剪 |
Up |
3 | up |
上侧裁剪 |
Down |
4 | down |
下侧裁剪 |
Center |
5 | center |
中央裁剪 |
字号[编辑]
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
Small |
0 | small |
小号 |
Normal |
1 | normal |
中号 |
Large |
2 | large |
大号 |
ExtraLarge |
3 | extra_large |
超大号 |
文本对齐方式[编辑]
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
Left |
0 | left |
左对齐 |
Right |
1 | right |
右对齐 |
Center |
2 | center |
居中对齐 |
调试颜色[编辑]
接口字符串 | 颜色 | 描述 |
---|---|---|
black |
#000000 |
黑色 |
white |
#FFFFFF |
白色 |
gray |
#7F7F7F[注 5] |
灰色 |
red |
#FF0000 |
红色 |
blue |
#0000FF |
蓝色 |
green |
#00FF00 |
绿色 |
yellow |
#FFFF00 |
黄色 |
purple |
#7F007F[注 6] |
紫色 |
子级插入位置[编辑]
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
Front |
0 | front |
之前 |
Back |
1 | back |
之后 |
开关组管理器行为[编辑]
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
ClearAll |
0 | clear |
组中所有开关默认全部关闭 |
SelectAll |
1 | select |
组中所有开关默认全部开启 |
GatherAll |
2 | gather |
|
DefaultAll |
2 | default |
组中所有开关默认全部处于各自的默认状态 |
滑块组管理器行为[编辑]
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
GatherAll |
0 | gather |
焦点导航模式[编辑]
键名 | 值 | 接口字符串 | 描述 |
---|---|---|---|
None |
0 | none |
无 |
Contained |
1 | contained |
|
Stop |
2 | stop |
|
Custom |
3 | custom |
自定义 |
开发版本中的应用[编辑]
实时编辑策略[编辑]
键值 | 国际版 | 中国版 | 描述 |
---|---|---|---|
Ctrl + - |
可用 | 可用 | JSON-UI 输入控件焦点 |
Ctrl + + |
可用 | 可用 | JSON-UI 界面元素 |
Ctrl + R |
可用 | 可用 | 刷新全局 JSON-UI |
Ctrl + ` |
可用 | 可用 | 唤出开发控制台 |
Ctrl + Shift + F11 |
可用 | 不可用 | 切换触控/键鼠操作模式 |
Shift + F11 |
可用 | 不可用 | 切换触控/键鼠操作模式 |
F11 |
不可用 | 可用 | 切换触控/键鼠操作模式 |
Ctrl + P |
可用 | 可用 | 切换Pocket/经典 UI |
Ctrl + K |
可用 | 可用 | 切换至生存模式并打开死亡界面 |
G |
可用 | 可用 | 切换创造/生存/冒险模式 |
Ctrl + H |
可用 | 可用 | 打开内容日志 |
J |
可用 | 可用 | 暂停玩家动作 |
I |
可用 | 可用 | 丢弃物品栏内除快捷栏的全部物品 |
ctrl + Pageup /Pagedown |
可用 | 可用 | 更改当前 Minecraft 实例分辨率 |
shift + Pageup /Pagedown |
可用 | 可用 | 调整变速 |
ctrl + shift + del |
可用 | 可用 | 重启当前 Minecraft Dev 实例 |
部分断言报错解决方案[编辑]
Minecraft 基岩引擎下的 JSON-UI 在开发环境下遵循严格的代码规范,尽管这一切在零售版本几乎不会有任何可视化的显现,但是在特定的情况下构建相关代码集群,最优解还是尽可能避免任何能被纠错程序检测出的问题,如果你位于开发环境下且想要跳过相关报错,请前往设置-调试界面关闭断点显示日志
与调试器中的断点测试
开关,或者在开发控制台中输入命令/option set dev_assertions_debug_break false
与/option set dev_assertions_show_dialog false
并执行,特别需要注意的是调试器中的断点测试
的设置优先级应高于断点显示日志
,这是由于标准Minecraft Dev是能在不链接到调试器的情况下运行的,这也符合绝大多数情况(待定),因此此时并无控制台程序用于输出调试信息,断言错误将直接导致当前Minecraft实例终止。
常见的 JSON-UI 断言错误及可能的解决方案[编辑]
断言错误核心内容 | 是否为恶性递归错误 | 解决方案 |
---|---|---|
Type not specified (or @-base not found) for control: assertion_failure |
否 | 检查代码字段中assertion_failure@$abc123 ,通常情况下全局变量$abc123 不存在或无法识别会造成此问题。另一种特殊情况是组的子节点需要写到controls 变量内,而不能被引用,可能在stack_panel 、input_panel 组件下出现。
|
Invalid rectangle area Condition is false: (x0 <= x1 && y0 <= y1) (checkForValidity == false) | 否 | 检查是否有将原stack_panel控件下的对象放入该父对象下panel控件内的情况,此时线性布局出现了错乱,尝试恢复原stack_panel下对象的排列方式。 |
UIControlFactory failed to create child control, did you add a new type? Did you add it to the string-to-type function?Condition is false: childControl | 否 | 检查是否存在某一对象设定的type 变量不合规情况,此类问题解决一般需要一定的经验,建议从能够确认无问题的最上层节点往下逐一排查。
|
Could not find tab to select | 否 | 硬编码决定了部分界面必须具备toggle_name 为navigation_tab 的特定开关,随意增删处于同一开关组的开关名容易出现此类问题。如$toggle_group_forced_index 变量值为$accessibility_index 、$construction_index 、$nature_index 、$items_index 、$equipment_index 的相关控件。此类错误无关紧要。
|
childBatchClippingState.mBottomRightClip should always be >= mTopLeftClip. FYI mClipsChildren == trueCondition is false: childBatchClippingState.mBottomRightClip.x >= childBatchClippingState.mTopLeftClip.x && childBatchClippingState.mBottomRightClip.y >= childBatchClippingState.mTopLeftClip | 否 | 此类问题一般出现在scroll_panel 控件嵌套scroll_panel 的情况下,当子控件的大小与父控件大小相差悬殊或不符合特定情境下硬性要求时,此类报错会在拖动滚轮(键鼠)或滑动窗体(触控)时不间断出现,但在滚动鼠标滑轮与上下实体键映射时不会出现相应报错。该报错延展到零售版本的直观体现为滑动操作中途Minecraft实例卡顿明显至无响应,暂无完美解决方案。
|
Invalid rectangle area Condition is false: (x0 <= x1 && y0 <= y1) (checkForValidity == false) | 是 | 此类问题一般也出现在scroll_panel 控件嵌套scroll_panel 的情况下,且与上条断言错误同时发生。当子控件的大小与父控件大小相差悬殊或不符合特定情境下硬性要求时,此类报错会在拖动滚轮(键鼠)或滑动窗体(触控)时不间断出现,但在滚动鼠标滑轮与上下实体键映射时不会出现相应报错。该报错延展到零售版本的直观体现为滑动操作中途Minecraft实例卡顿明显至无响应,暂无完美解决方案。
|
We have invalid names in the vanilla files.Make sure all your control children have unique names that aren't empty! | 否 | 同一节点下对象名应该不同。 |
This control needs a layout component!Condition is false: mLayoutComponent | 否 | 待观察。 |
Unsolvable layout rule set.Condition is false: false | 否 | 同一stack_panel 控件下不能同时嵌套两个或多个scrolling_panel 控件。stack_panel 控件下的节点不能含有高度为100%的控件。
|
UI control reference not found: 'dock_exit_animation_push_offset' | 否 | 除该控件确实不存在的情况外,一般也出现在动画变量中,尽可能保持动画变量继承控件带命名空间的完整性。 |
Data bindings must have at least one property to bind! | 否 | bindings 变量内容不完整。
|
Invalid Index was received. Most likely due to controls not being removed when the respective grid resized. | 否 | collection_index 变量值超出对应grid 控件应有值。
|
Should not be trying to push the start menu to a ClientInstance scenestack! | 否 | 在游戏内(hud推入后)打开安全区更改界面。 |
UIControlFactory - failed to create root control.Condition is false: subTreeControl != nullptr | 否 | grid组件grid_item_template 变量值指向一个不存在的控件。
|
gridItemTemplate control tree could not be created! Condition is false: gridItemTemplate != nullptr | 否 | grid组件grid_item_template 变量值指向一个不存在的控件。(伴随上一断言失败出现)
|
Invalid Index was received. Most likely due to controls not being removed when the respective grid resized. | 否 | 待观察。 |
参考与注释[编辑]
参考[编辑]
注释[编辑]