Skip to content

初步了解

LDLib 提供了广泛的 Widget。你可以在各个页面上查看它们的功能和 API。在本节中,我们将介绍所有 Widget 的基础概念,确保你对它们的共同原理有扎实的理解。

所有 Widget 都继承自 Widget 类。因此,它们都共享一组通用的 API。


基本属性

所有属性都可以通过 Java / KubeJS 访问。

java
var id = widget.getId();
var pos = widget.getPosition();
widget.setSize(10, 32);
widget.setSlefPosition(10, 10);
字段描述
idWidget ID,不需要唯一,可以为空。
selftPositionSelf position 表示在父 Widget 中的相对本地位置。
parentPosition父 Widget 的全局位置。
position窗口中的全局位置,由 self position 和 parent position 计算得出。
sizeWidget 尺寸,此属性影响矩形碰撞检测,例如悬停、点击等。
isVisibleWidget 是否可见,仅影响渲染,逻辑仍然有效。
isActiveWidget 逻辑是否有效。
align相对于父级的对齐位置。
backgroundTexture背景纹理。
hoverTexture鼠标悬停时绘制的纹理。
overlay覆盖在背景纹理之上的叠加纹理。
parent父 Widget。
align相对于父级的对齐位置。

关于 position

Position 是一个重要的概念。查看下图: Image title


API

setHoverTooltips()

用于定义鼠标悬停时显示的悬停提示。它支持 stringcomponent 作为输入。

java
widget.setHoverTooltips("this is a button");
// widget.setHoverTooltips("line 1", "line2");

纹理

LDLib 提供了大量不同类型的纹理,选择你需要的:)。查看 GUI 纹理 了解支持的纹理。

setBackground()

用于设置 Widget 的背景纹理。

setHoverTexture()

用于设置 Widget 的悬停纹理。

java
widget.setBackground(new ResourceTexture("ldlib:textures/gui/icon.png"));

isMouseOverElement()

用于检查鼠标是否在 Widget 上。

java
widget.isMouseOverElement(mouseX, mouseY);

Released under the MIT License.