LogoArcartX Doc
UI篇

开始

UI篇前言

自从我厌倦了寻找,便学会了找到。

前言

  • 学习UI之前,请您务必学会Shimmer的使用,UI的中后期应用是围绕脚本展开的。
  • 当然,如果您只想做简单的UI,运算也只是简单的数字加减乘除,那就算是不学也行。
  • 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:
  match:
  hide: []
  itemSize: "16"
  through: "false"
  escClose: "true"
  background: true
  closeDied: "true"
  show: "true"
  jei: "false"
  action:
controls:
   background:
    type: "Texture"
    attribute:
      width: "1270"
      height: "650"
      normal: "~inventory/bg.png"
  • 不难看出 UI的配置分为两个大板块,一个是ui,一个是controls
  • 在Shimmer教学中我们提到过载体关键字:self,这里讲解一下不同位置的self所指向的对象。
  • ui这个配置项以内,所有的self关键字指向的是ui自身。
  • controls这个配置项以内,所有的self关键字指向的是当前组件。
  • 此外,ui作为一个整体,共享同一个本地变量池(varval),也就是您在ui块创建的本地变量,在控件中也可引用,反之亦然。

On this page