- 致编者:请牢记我们的域名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. | 否 | 待觀察。 |
參考與注釋[編輯]
參考[編輯]
注釋[編輯]