GUI:Timeline_FadeIn接口怎么用
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-03-21 15:40:11 |
👁️ 阅读: 4
`GUI:Timeline_FadeIn`是浮生梦老师前端课程中用于实现控件淡入动画效果的接口。
**函数原型:**
```lua
function GUI:Timeline_FadeIn(widget, time, timelineCB) end
```
**参数说明:**
- `widget` (必填):控件对象,要进行淡入动画的UI控件
- `time` (必填):淡入动画持续时间(单位:秒)
- `timelineCB` (可选):动画完成后的回调函数
**使用示例:**
```lua
-- 创建父窗口
local parent = GUI:Win_Create("FadeInDemo", 0, 0, 0, 0, false, false, true, false, false, false, 1)
-- 创建图片控件
local image = GUI:Image_Create(parent, "test_img", 100, 100, "res/public_win32/1900000610.png")
-- 设置初始为不可见
GUI:setOpacity(image, 0) -- 透明度设为0(完全透明)
GUI:setVisible(image, true) -- 但控件本身要可见
-- 使用淡入动画
GUI:Timeline_FadeIn(image, 1.5, function()
SL:print("淡入动画完成!")
end)
```
**注意事项:**
1. 淡入动画会从当前透明度渐变到完全不透明(255)
2. 如果控件初始不可见,需要先调用`GUI:setVisible(widget, true)`再执行动画
3. 回调函数在动画播放完成后自动调用
4. 可以配合`GUI:Timeline_FadeOut`实现淡出效果
**完整案例:**
```lua
-- 创建界面
local win = GUI:Win_Create("DemoWindow", 100, 100, 300, 300, false, false, true, false, false, false, 1)
-- 创建背景图片
local bg = GUI:Image_Create(win, "bg", 0, 0, "res/public_win32/1900000610.png")
GUI:setSize(bg, 300, 300)
-- 创建按钮
local btn = GUI:Button_Create(win, "btn_fade", 100, 100, "res/public_win32/1900000612.png")
GUI:Button_setTitleText(btn, "点击淡入")
-- 设置初始状态
GUI:setOpacity(bg, 0) -- 背景完全透明
GUI:setVisible(bg, true)
-- 按钮点击触发淡入动画
GUI:addOnClickEvent(btn, function()
SL:print("开始淡入动画...")
-- 执行淡入动画,持续2秒
GUI:Timeline_FadeIn(bg, 2.0, function()
SL:print("背景淡入完成!")
end)
end)
```
这个接口非常适合制作界面入场动画、提示框渐显等效果,让你的UI交互更加平滑自然!
← 返回问答库