那他是基于那个点缩放的
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-28 20:30:05 |
👁️ 阅读: 3
`GUI:Timeline_ScaleBy` 的缩放是基于控件的**锚点**进行的。
在996引擎中,所有控件的缩放、旋转等变换操作都围绕其锚点(Anchor Point)发生。锚点默认通常是控件的中心点(0.5, 0.5),但你可以通过其他函数来修改它。
**关键特性:**
1. **相对缩放**:在控件当前大小的基础上按比例变化
2. **锚点中心**:缩放围绕控件的锚点进行
3. **保持位置**:缩放时锚点位置保持不变
**示例:**
```lua
-- 创建父节点
local parent = GUI:Win_Create("GMMain", 0, 0, 0, 0, false, false, true, false, false, false, 1)
-- 创建测试按钮
local btn = GUI:Button_Create(parent, "btn_test", 200, 200, "res/public/1900000612.png")
GUI:Button_setTitleText(btn, "测试缩放中心")
-- 点击后以锚点为中心放大到150%
GUI:addOnClickEvent(btn, function()
-- 基于当前锚点(默认中心)放大到1.5倍
GUI:Timeline_ScaleBy(btn, 150, 0.5, function()
SL:print("以锚点为中心放大完成")
end)
end)
```
**对比说明:**
- 如果锚点是中心点(0.5,0.5),控件会从中心向四周均匀缩放
- 如果锚点是左上角(0,0),控件会从左上角向右下角缩放
- 如果锚点是右下角(1,1),控件会从右下角向左上角缩放
所以,缩放的具体"点"取决于控件的锚点设置!
← 返回问答库