获取组件位置
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-07-17 10:57:29 |
👁️ 阅读: 15
在996引擎中,要获取组件的位置,可以使用 `GUI:getPosition(widget)` 函数。这个函数会返回一个包含 x 和 y 坐标的 table。
```lua
-- 假设你已经有一个组件对象 widget
local pos = GUI:getPosition(widget)
if pos then
SL:Print("组件X坐标:", pos.x)
SL:Print("组件Y坐标:", pos.y)
else
SL:Print("获取位置失败,组件可能为空")
end
```
**注意事项:**
1. `GUI:getPosition()` 获取的是组件相对于其父节点的**本地坐标**。
2. 如果你需要获取组件在屏幕上的**世界坐标**,可以使用 `GUI:getWorldPosition(widget)` 函数。
3. 在获取位置前,最好先用 `GUI:Win_IsNull(widget)` 判断组件是否有效,避免空指针错误。
**示例:获取世界坐标**
```lua
local worldPos = GUI:getWorldPosition(widget)
if worldPos then
SL:Print("世界坐标X:", worldPos.x)
SL:Print("世界坐标Y:", worldPos.y)
end
```
如果你需要单独获取X或Y坐标,也可以分别使用 `GUI:getPositionX(widget)` 和 `GUI:getPositionY(widget)` 函数。
← 返回问答库