This commit is contained in:
boybook
2025-12-01 20:59:16 +08:00
parent 12738a142c
commit 760c2dd9ad
5535 changed files with 21070 additions and 2021 deletions

View File

@@ -881,7 +881,7 @@ screen即画布控件是游戏中一个UI界面的根节点所有其他
*
always_accepts_inputforce_render_below render_game_behind render_only_when_topmost属性仅在调用PushScreen接口创建UI时才会正常生效。
always_accepts_inputforce_render_below render_game_behind render_only_when_topmost属性仅在调用<a href="../../mcdocs/1-ModAPI/接口/自定义UI/通用.html#pushscreen" rel="noopenner"> PushScreen </a>接口创建UI时才会正常生效。
名称 | 类型 | 默认值 | 描述
--- | --- | --- | ---
@@ -900,7 +900,7 @@ force_render_below | boolean | false | 是否渲染下方的界面置true时
send_telemetry | boolean | true | 是否发送遥测数据
close_on_player_hurt | boolean | false | 是否在玩家受伤时关闭屏幕
cache_screen | boolean | false | 是否缓存屏幕上的控件,下次打开界面会更快,但会占用更多内存
load_screen_immediately | boolean | false | 是否在PushScreen后立即加载界面,默认会延迟几帧加载防止卡顿
load_screen_immediately | boolean | false | 是否在<a href="../../mcdocs/1-ModAPI/接口/自定义UI/通用.html#pushscreen" rel="noopenner"> PushScreen </a>后立即加载界面,默认会延迟几帧加载防止卡顿
gamepad_cursor | boolean | false | 是否支持显示手柄光标
gamepad_cursor_deflection_mode | boolean | false | 是否开启手柄光标偏转模式默认值为false主要用于手柄适配[轮盘控件](#selection_wheel)
should_be_skipped_during_automation | boolean | false | 是否在自动化测试中应被跳过
@@ -939,7 +939,7 @@ inherit_max_sibling_width | boolean | false | 是否使用兄弟控件的最大
inherit_max_sibling_height | boolean | false | 是否使用兄弟控件的最大高度
contained | false | 该控件可拖动时,是否会被父控件的大小范围所限制
draggable | enum | "not_draggable" | 使控件可以被拖动。控件应能够接受输入才能被拖动如input_panel, button等并且必须具有所需的按钮映射。<br>可选值not_draggable不可拖动, vertical允许垂直拖动, horizontal允许水平拖动, both自由拖动
follows_cursor | boolean | false | 控件是否跟随鼠标或手柄指针移动
follows_cursor | boolean | false | 控件是否跟随鼠标或手柄指针移动,仅在调用<a href="../../mcdocs/1-ModAPI/接口/自定义UI/通用.html#pushscreen" rel="noopenner"> PushScreen </a>接口创建的UI中才会正常生效
grid_position | array [row, column] | 取决于自身 | 用于设置控件在grid中的位置这也允许修改原版硬编码网格的特定网格项
collection_index | int | 取决于自身 | 用于设置控件在集合中的索引
priority | int | 0 | 该控件的优先级,数字越小优先级越高
@@ -1858,7 +1858,7 @@ class UIDemoScreen(ScreenNode):
return index < self.showNum and self.demoGridControl.GetVisible()
```
可以看到grid格子的visible属性我们以"#UIDemo.visible"设置而该字段经由bindings字段的设置取代了系统变量#visible再在Python代码中绑定了"#UIDemo.visible"字段的函数更新回调。因此每个格子的visible属性就会读取Python函数的返回值进行动态的设置。有关于数据绑定详情可见[UI绑定和返回](#UI绑定和返回)
可以看到grid格子的visible属性我们以"#UIDemo.visible"设置而该字段经由bindings字段的设置取代了系统变量#visible再在Python代码中绑定了"#UIDemo.visible"字段的函数更新回调。因此每个格子的visible属性就会读取Python函数的返回值进行动态的设置,详情可见[集合绑定教程](70-UI数据绑定.md#集合绑定)
### progress_bar
@@ -2201,7 +2201,7 @@ hover事件的触发本质上是与鼠标悬浮相关在PC模式中当鼠
* 注2
推荐轮盘所在的Screen用<a href="../../mcdocs/1-ModAPI/接口/自定义UI/通用.html#pushscreen">PushScreen</a>的方式创建因为PushScreen加载的UI是会对该UI中存在的控件中的贴图资源进行强制加载如果这个贴图从未显示过的话考虑到轮盘的贴图资源比较多6切片的轮盘如果用<a href="../../mcdocs/1-ModAPI/接口/自定义UI/通用.html#createui">CreateUI</a>的方式创建轮盘,并且这些轮盘贴图从未显示过,那么选择轮盘的时候就会产生闪烁现象,原因就是第一次显示的贴图资源会动态加载,而动态加载是需要一定时间的。如果想彻底解决这类加载问题,详见<a href="../20-玩法开发/18-性能优化/内存优化.html#贴图预加载" rel="noopenner"> 贴图预加载 </a>
推荐轮盘所在的Screen用<a href="../../mcdocs/1-ModAPI/接口/自定义UI/通用.html#pushscreen" rel="noopenner"> PushScreen </a>的方式创建因为PushScreen加载的UI是会对该UI中存在的控件中的贴图资源进行强制加载如果这个贴图从未显示过的话考虑到轮盘的贴图资源比较多6切片的轮盘如果用<a href="../../mcdocs/1-ModAPI/接口/自定义UI/通用.html#createui" rel="noopenner"> CreateUI </a>的方式创建轮盘,并且这些轮盘贴图从未显示过,那么选择轮盘的时候就会产生闪烁现象,原因就是第一次显示的贴图资源会动态加载,而动态加载是需要一定时间的。如果想彻底解决这类加载问题,详见<a href="../20-玩法开发/18-性能优化/内存优化.html#贴图预加载" rel="noopenner"> 贴图预加载 </a>
![轮盘控件-9](./picture/IntroduceUI/IntroduceUI-48.gif)