初步了解
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);javascript
let id = widget.getId();
let pos = widget.position // getPosition() 也可以。
widget.setSize(10, 32);
widget.setSlefPosition(10, 10);| 字段 | 描述 |
|---|---|
id | Widget ID,不需要唯一,可以为空。 |
selftPosition | Self position 表示在父 Widget 中的相对本地位置。 |
parentPosition | 父 Widget 的全局位置。 |
position | 窗口中的全局位置,由 self position 和 parent position 计算得出。 |
size | Widget 尺寸,此属性影响矩形碰撞检测,例如悬停、点击等。 |
isVisible | Widget 是否可见,仅影响渲染,逻辑仍然有效。 |
isActive | Widget 逻辑是否有效。 |
align | 相对于父级的对齐位置。 |
backgroundTexture | 背景纹理。 |
hoverTexture | 鼠标悬停时绘制的纹理。 |
overlay | 覆盖在背景纹理之上的叠加纹理。 |
parent | 父 Widget。 |
align | 相对于父级的对齐位置。 |
关于 position
Position 是一个重要的概念。查看下图: 
API
setHoverTooltips()
用于定义鼠标悬停时显示的悬停提示。它支持 string 和 component 作为输入。
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);