2秒淡入
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-20 12:20:26 |
👁️ 阅读: 5
要创建一个2秒淡入效果,可以使用浮生梦老师前端课程中的动作函数。这里提供一个完整的代码示例:
```lua
-- 创建父节点
local parent = GUI:Win_Create("FadeInDemo", 0, 0, 0, 0, false, false, true, false, false, false, 1)
-- 创建背景图(使用案例图片)
local bg = GUI:Widget_Create(parent, "bg", 0, 0, 800, 600)
GUI:Widget_setBackGroundImage(bg, "res/public_win32/1900000610.png", 0)
-- 创建按钮
local btn = GUI:Button_Create(parent, "btn_test", 300, 200, "res/public_win32/1900000612.png")
GUI:Button_setTitleText(btn, "测试按钮")
-- 设置初始透明度为0(完全透明)
GUI:setOpacity(btn, 0)
-- 设置透明度级联,确保子控件跟随变化
GUI:setCascadeOpacityEnabled(btn, true)
-- 添加点击事件
GUI:addOnClickEvent(btn, function()
SL:Print("按钮被点击啦!")
end)
-- 2秒淡入效果
GUI:runAction(btn, GUI:ActionFadeIn(2))
```
**参数说明:**
- `GUI:ActionFadeIn(2)`:创建淡入动作,参数2表示动画持续时间为2秒
- `GUI:setOpacity(btn, 0)`:先设置按钮完全透明
- `GUI:setCascadeOpacityEnabled(btn, true)`:启用透明度级联,确保按钮的子元素(如文字)也会跟随淡入
如果你想要更复杂的动画序列,比如淡入后执行其他动作,可以使用`GUI:ActionSequence`:
```lua
local function animationComplete()
SL:Print("淡入动画完成!")
end
GUI:runAction(btn, GUI:ActionSequence(
GUI:ActionFadeIn(2),
GUI:CallFunc(animationComplete)
))
```
这样按钮就会在2秒内从完全透明渐变到完全显示,动画完成后会打印提示信息。
← 返回问答库