跳转至

从 1.21 迁移到 26.1.x

Since mc26.1

本页汇总从 LDLib2 UI 的 1.21 版本线迁移到 26.1.x 版本线时,需要注意的用户侧 UI API 变化。

Debug Panel

旧的 UI 调试模式 已替换为类似 Chrome 调试工具的 Debug Panel

1.21 26.1.x
F3 启用 UI 调试模式。 F12 打开或关闭 Debug Panel。
调试信息直接显示在屏幕上。 Debug Panel 可用于检查实时 UI 层级、计算后的样式、布局和选中元素状态。

打开 Debug Panel 后,按 F1 可以切换 Look Up 模式。在 Look Up 模式下,将鼠标悬停在目标 UI 的元素上并点击,即可跳转到 Debug Panel 的层级树和检查器中的对应 UIElement

参见 调试你的 UI 了解主要用法。

裁剪和遮罩

旧的 overflowoverflow-clip API 已过时,只建议用于 1.21 兼容。在 26.1.x 中,请改用 clipmask

1.21 API 26.1.x API
overflow: visible clip: none / Clip.NONE
overflow: hidden clip: scissor / Clip.SCISSOR
setOverflowVisible(false) 仍可作为辅助方法使用;会映射为 Clip.SCISSOR
overflow-clip: ... clip: maskclip: dynamic-mask,并配合 mask: ...

Clip 模式

模式 用途
NONE 不裁剪。
SCISSOR 将渲染裁剪到元素的内容边界内。
MASK 使用 mask 提供的纹理裁剪渲染。适用于静态遮罩。
DYNAMIC_MASK MASK 相同,但每帧都会刷新遮罩。适用于动画遮罩或会变化的遮罩。

示例

style.clip(Clip.SCISSOR);

style.clip(Clip.MASK);
style.mask(MCSprites.BORDER);

style.clip(Clip.DYNAMIC_MASK);
style.mask(animatedMask);
style = {
    clip(Clip.SCISSOR)
}

style = {
    clip(Clip.MASK)
    mask(MCSprites.BORDER)
}
element {
    clip: scissor;
}

element.masked {
    clip: mask;
    mask: sprite(ldlib2:textures/gui/icon.png);
}

element.animated-mask {
    clip: dynamic-mask;
    mask: sprite(ldlib2:textures/gui/icon.png);
}

参见 UIElement: clipUIElement: maskUIElement: overflow-clip 获取完整属性参考。