local function zhuanpan(msgID, msgData)
local screenWidth = SL:GetMetaValue("SCREEN_WIDTH", 0)
local screenHeight = SL:GetMetaValue("SCREEN_HEIGHT", 0)
local parent = GUI:Win_Create("zhuanpan", 0, 0, 0, 0, false, false, true, false, fa
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-20 11:45:13 |
👁️ 阅读: 6
```lua
local function zhuanpan(msgID, msgData)
local screenWidth = SL:GetMetaValue("SCREEN_WIDTH", 0)
local screenHeight = SL:GetMetaValue("SCREEN_HEIGHT", 0)
local parent = GUI:Win_Create("zhuanpan", 0, 0, 0, 0, false, false, true, false, false, false, 1)
local fullScreenAnim = GUI:Frames_Create(
parent,
"FullScreenFrames",
screenWidth/2,
screenHeight/2,
"res/public/word_fubentg_",
".png",
1,
10,
{speed = 100, count = 10, loop = -1}
)
GUI:setAnchorPoint(fullScreenAnim, 0.5, 0.5)
GUI:setContentSize(fullScreenAnim, screenWidth, screenHeight)
GUI:setIgnoreContentAdaptWithSize(fullScreenAnim, false)
GUI:Win_SetMainHide(parent, true)
local layout = GUI:Layout_Create(parent, "layout", screenWidth/2, screenHeight/2, 900, 500)
if layout then
GUI:setAnchorPoint(layout, 0, 0)
GUI:setTouchEnabled(layout, true)
-- 设置初始透明度为0(完全透明)
GUI:setOpacity(layout, 0)
-- 创建淡入动作序列
local fadeInAction = GUI:ActionFadeIn(2) -- 2秒淡入
GUI:runAction(layout, fadeInAction)
end
-- 背景图 - 居中显示
local bg_kuang = GUI:Image_Create(layout, "bg_kuang", 450, 250, "res/01/010011.jpg")
if bg_kuang then
GUI:setAnchorPoint(bg_kuang, 0.5, 0.5)
end
GUI:LoadExport(layout, "zhuanpan")
local ui = GUI:ui_delegate(layout)
end
```
**关键点说明:**
1. 使用 `GUI:setOpacity(layout, 0)` 先将layout设置为完全透明
2. 使用 `GUI:ActionFadeIn(2)` 创建2秒的淡入动作
3. 使用 `GUI:runAction(layout, fadeInAction)` 执行淡入动画
这样layout就会在创建后以2秒时间从透明渐变到完全显示,实现淡入效果。
```lua
local function zhuanpan(msgID, msgData)
local screenWidth = SL:GetMetaValue("SCREEN_WIDTH", 0)
local screenHeight = SL:GetMetaValue("SCREEN_HEIGHT", 0)
local parent = GUI:Win_Create("zhuanpan", 0, 0, 0, 0, false, false, true, false, false, false, 1)
local fullScreenAnim = GUI:Frames_Create(
parent,
"FullScreenFrames",
screenWidth/2,
screenHeight/2,
"res/public/word_fubentg_",
".png",
1,
10,
{speed = 100, count = 10, loop = -1}
)
GUI:setAnchorPoint(fullScreenAnim, 0.5, 0.5)
GUI:setContentSize(fullScreenAnim, screenWidth, screenHeight)
GUI:setIgnoreContentAdaptWithSize(fullScreenAnim, false)
GUI:Win_SetMainHide(parent, true)
local layout = GUI:Layout_Create(parent, "layout", screenWidth/2, screenHeight/2, 900, 500)
if layout then
GUI:setAnchorPoint(layout, 0, 0)
GUI:setTouchEnabled(layout, true)
-- 设置初始透明度为0(完全透明)
GUI:setOpacity(layout, 0)
-- 创建淡入动作序列
local fadeInAction = GUI:ActionFadeIn(2) -- 2秒淡入
GUI:runAction(layout, fadeInAction)
end
-- 背景图 - 居中显示
local bg_kuang = GUI:Image_Create(layout, "bg_kuang", 450, 250, "res/01/010011.jpg")
if bg_kuang then
GUI:setAnchorPoint(bg_kuang, 0.5, 0.5)
end
GUI:LoadExport(layout, "zhuanpan")
local ui = GUI:ui_delegate(layout)
end
```
**关键点说明:**
1. 使用 `GUI:setOpacity(layout, 0)` 先将layout设置为完全透明
2. 使用 `GUI:ActionFadeIn(2)` 创建2秒的淡入动作
3. 使用 `GUI:runAction(layout, fadeInAction)` 执行淡入动画
这样layout就会在创建后以2秒时间从透明渐变到完全显示,实现淡入效果。
← 返回问答库