LogoArcartX Doc
UI篇

控件公共属性

所有控件共享的公共属性

控件公共属性

以下属性适用于所有类型的控件。

基础属性

名称说明默认值备注
enable是否开启true关闭后交互性触发器不会触发(影响子组件)
visible是否可见true关闭后不可见(影响子组件)
width宽度0
height高度0
xX 坐标0相对于父组件的位置
yY 坐标0相对于父组件的位置
scale缩放比例1从左上角缩放
middleScale中心缩放比例1从正中心缩放
alpha透明度10 为完全透明,1 为完全不透明
rotate旋转角度0
point锚点TOP_LEFT详见下方锚点类型表
through穿透false为 true 时不阻挡下方组件的交互事件,且不接受点击事件

拖动

名称说明默认值备注
minDragX最小拖动 X0可拖动的 X 轴最小值
minDragY最小拖动 Y0可拖动的 Y 轴最小值
maxDragX最大拖动 X0可拖动的 X 轴最大值
maxDragY最大拖动 Y0可拖动的 Y 轴最大值

文本相关

以下属性仅对包含文本显示功能的控件生效:

名称说明默认值备注
texts文本内容
font字体
fontSize字体大小16
center文字居中false
lineSpace行间距16
limit字数显示限制999999限制最大显示字数(不含颜色代码),可用于打字机效果

其它

名称说明默认值备注
limitControl限制显示范围将当前组件的显示范围剪裁为指定组件的范围,传入目标组件对象
tip提示信息仅用于包含 Tip 的组件

锚点类型

锚点仅在顶层组件(父级是 UI 本身)或父级为 Canvas、Adaptive 时生效。

锚点类型说明
horizontal_stretch_top宽度跟随父级,置于顶部
horizontal_stretch_middle宽度跟随父级,置于中间
horizontal_stretch_bottom宽度跟随父级,置于底部
vertical_stretch_left高度跟随父级,置于左侧
vertical_stretch_center高度跟随父级,置于正中
vertical_stretch_right高度跟随父级,置于右侧
stretch_all完全跟随父级宽高,x 和 y 锁定为 0
top_left左上角
top_center顶部中间
top_right右上角
middle_left左中间
middle_center正中间
middle_right右中间
bottom_left左下角
bottom_center底部中间
bottom_right右下角

图形效果

  • 以下内容适用于任何带有渲染纹理(贴图、色块)的控件,它会对纹理的渲染表现进行附加处理,实现更精美的UI

形状与圆角

名称说明默认值备注
shape形状类型RECT可选值:RECT(矩形)、ROUNDED_RECT(圆角矩形)、CIRCLE(圆形/椭圆)
radius圆角半径5当 shape 为 ROUNDED_RECT 时生效

纹理表达方式说明

  • 对于纹理渲染,后续我将在控件属性说明中 以 纹理表达式 指代
类型说明语法
图像直接填写资源路径进行对应图片的渲染,支持PNG GIF 网链xxx.png / xxx.gif / https://xxx.com/xxx.png
玩家头像取指定UUID玩家的正版皮肤头像PlayerSkin:xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
RGBA色块根据RGBA表达式渲染颜色255,255,255,255
毛玻璃高斯模糊的块,后面这个语法示例的30是模糊度Frosted:30;255,255,255,80
  • 请注意,虽然我这里语法写的都不带~这是为了举例更清晰,但是如果你属性值是纯文本,一定记得标记纯文本 比如 normal: ~xxx.png

纹理特效

  • 纹理特效位于控件的 effect 块中,每种特效作为一个子节点配置。以下是 ArcartX 支持的所有特效类型。
attribute:
  x: 0
  y: 0
  # 下文略
effect:
  stroke:
    width: 2
    color: ~255,255,255
  shadow:
    xOffset: 3
    yOffset: 3
    blur: 6
    color: ~0,0,0,100
  neon:
    color: ~0,0,100
    size: 8
    intensity: 1
    animated: true
  ripple:
    duration: 1200
    color: ~255,255,255,100
    width: 0.1
  gradient:
    color1: ~255,0,0,100
    color2: ~0,0,255,50
    type: 1
    angleDeg: 90
  flow:
    color: ~255,255,255
    speed: 1
    width: 0.1
    angleDeg: 60
    mode: 0
  energy:
    color: ~0,0,255
    intensity: 1
    frequency: 1
    speed: 1
    pattern: 2

描边 (stroke)

为控件添加边框描边效果。

参数类型说明
widthfloat描边宽度
colorRGBA描边颜色

阴影 (shadow)

为控件添加投影效果。

参数类型说明
xOffsetfloatX 轴偏移
yOffsetfloatY 轴偏移
blurfloat模糊程度
colorRGBA阴影颜色

霓虹 (neon)

为控件添加发光霓虹效果。

参数类型说明
colorRGBA霓虹颜色
sizefloat发光范围
intensityfloat发光强度
animatedboolean是否启用呼吸动画

波纹 (ripple)

点击时产生水波纹扩散效果。

参数类型说明
durationint持续时间(毫秒)
colorRGBA波纹颜色
widthfloat波纹宽度

渐变 (gradient)

为控件添加颜色渐变效果。

参数类型说明
color1RGBA起始颜色
color2RGBA结束颜色
typeint渐变类型:0 线性、1 径向、2 角度、3 菱形
angleDegfloat渐变角度(度)

流光 (flow)

为控件添加流动光效。

参数类型说明
colorRGBA流光颜色
speedfloat流动速度
widthfloat光带宽度
angleDegfloat流动角度(度)
modeint流光模式:0 线性、1 环形、2 对角线

能量 (energy)

为控件添加能量场效果。

参数类型说明
colorRGBA能量颜色
intensityfloat强度
frequencyfloat频率
speedfloat速度
patternint图案类型:0 脉冲、1 波浪、2 电弧、3 等离子

饼图剪裁 (pie)

参数类型说明
startAnglefloat起始角度(注意,0度的位置是真的0度而不是图形顶部中间的位置,而是右侧中间的位置)
endAnglefloat结束角度
centerXfloat中心 X 比例 (正中间就写0.5)
centerYfloat中心 Y 比例 (正中间就写0.5)
featherfloat边缘羽化

On this page