获取尺寸
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-07 16:19:11 |
👁️ 阅读: 0
在996引擎中,获取控件尺寸主要有两种方式,根据你的具体需求选择:
**1. 获取控件原始纹理尺寸(不考虑缩放)**
```lua
local size = GUI:getContentSize(widget)
SL:print("宽度:", size.width)
SL:print("高度:", size.height)
```
**2. 获取控件实际显示尺寸(考虑缩放后的真实大小)**
```lua
local realSize = GUI:getBoundingBox(widget)
SL:print("实际宽度:", realSize.width)
SL:print("实际高度:", realSize.height)
```
**使用示例:**
```lua
-- 创建父节点
local parent = GUI:Win_Create("GMMain", 0, 0, 0, 0, false, false, true, false, false, false, 1)
-- 创建按钮
local button = GUI:Button_Create(parent, "btn_test", 100, 100, "res/public/1900000612.png")
-- 获取按钮尺寸
local btnSize = GUI:getContentSize(button)
SL:print("按钮原始尺寸 - 宽:", btnSize.width, "高:", btnSize.height)
-- 如果按钮有缩放,获取实际显示尺寸
local btnRealSize = GUI:getBoundingBox(button)
SL:print("按钮实际尺寸 - 宽:", btnRealSize.width, "高:", btnRealSize.height)
```
**区别说明:**
- `getContentSize()`:返回控件原始纹理的像素尺寸,不受缩放影响
- `getBoundingBox()`:返回控件在屏幕上实际占据的区域大小,考虑了缩放、旋转等变换
根据浮生梦老师的前端课程内容,建议在需要精确碰撞检测或位置计算时使用`getBoundingBox()`,在需要知道原始大小时使用`getContentSize()`。
← 返回问答库