UI篇
开始
UI篇前言
前言
- 学习 UI 之前,请先学习 Shimmer 的使用,UI 的中后期应用是围绕脚本展开的。
- 如果你只需要制作简单的 UI,且运算仅涉及基础的数字加减乘除,可以跳过 Shimmer 部分。
- UI 的讲解中会穿插部分开发相关内容,请根据需要自行参考。
- 以下是一条重要提示,请务必留意。
- UI 几乎所有属性都是脚本语句,因此如果某个属性的值是字符串,无法直接作为文本读取。
- 因为 Shimmer 的字符串使用单引号包裹,比如
"abc",而 YAML 语法中引号涉及转义问题。 - 所以,如果某个属性你想设定为纯文字,只需要在开头加上一个
~即可。 - 比如
texts: "~我是一个纯文字属性值"
- 对于 UI 系列内容,HUD 和 Menu 使用同一个配置文件,位于同一个文件夹。如果你是直接在 ArcartX 的 ui 目录下创建的 UI 配置,那么 UI 的 id 即为文件名本身。
- 比如
xxx.yml对应的 id 就是xxx,如果是xxx/yyy.yml,那么 id 就是xxx/yyy。 - 如果你是附属开发者,建议注册 UI 时遵循以下格式:
插件名:ID,例如ArcartXAuthmeView:Main
UI的上下文逻辑
- 在学习完 Shimmer 之后,下面简单讲解一下 UI 的上下文逻辑。
- 我们先看一下UI的整体配置,这里放置了一个组件做示例
- 不难看出 UI的配置分为两个大板块,一个是
ui,一个是controls - 在Shimmer教学中我们提到过载体关键字:
self,这里讲解一下不同位置的self所指向的对象。 - 在
ui这个配置项以内,所有的self关键字指向的是ui自身。 - 在
controls这个配置项以内,所有的self关键字指向的是当前组件。 - 此外,UI 作为一个整体,共享同一个本地变量池(
var、val),也就是你在ui块创建的本地变量,在控件中也可引用,反之亦然。 - 对于
template块,写法和controls一模一样,但是这个块中的控件是作为模板存在,不会被创建,需要主动使用create函数来加入到UI中。用于动态创建UI的需求(后续请看UI的Shimmer函数和控件的Shimmer函数)
