local screenWidth = SL:GetMetaValue("SCREEN_WIDTH", 0)
local screenHeight = SL:GetMetaValue("SCREEN_HEIGHT", 0)
-- 创建窗口
local parent = GUI:Win_Create("zhuanpan", 0, 0, screenWidth, screenHeight, false, false, true, false, false, fals
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-05-02 15:21:10 |
👁️ 阅读: 5
要在第二个序列帧动画创建的同时,在屏幕右侧创建一个淡入的图片,你需要在 `jieshu` 回调函数中添加创建图片和淡入动画的代码。
根据浮生梦老师前端课程内容,你需要使用 `GUI:Image_Create` 创建图片,然后使用 `GUI:Timeline_FadeIn` 来实现淡入效果。同时,需要设置好图片的位置,确保它在屏幕右侧。
以下是修改后的 `jieshu` 函数代码:
```lua
-- 第一个动画结束的回调函数
local function jieshu()
-- 创建第二个动画
dier = GUI:Frames_Create(
parent,
"FullScreenFrames2",
screenWidth/2,
screenHeight/2,
"res/yuding/tianshudonghua/citiao2/1/",
".png",
1,
10,
{
speed = 150,
count = 10,
loop = 1,
callback = function()
-- 延迟1秒后关闭窗口
SL:ScheduleOnce(function()
GUI:Win_Close(parent)
end, 1)
end
}
)
GUI:setAnchorPoint(dier, 0.5, 0.5)
GUI:setPositionX(dier, screenWidth/2 - 200)
GUI:setIgnoreContentAdaptWithSize(dier, false)
-- 在屏幕右侧创建一个淡入的图片
-- 案例测试时,使用指定的背景图片
local rightImage = GUI:Image_Create(parent, "right_img", screenWidth - 150, screenHeight/2, "res/public_win32/1900000610.png")
GUI:setAnchorPoint(rightImage, 0.5, 0.5)
-- 设置初始透明度为0(完全透明)
GUI:setOpacity(rightImage, 0)
-- 执行淡入动画,1秒内透明度变为255(完全不透明)
GUI:Timeline_FadeIn(rightImage, 1.0, nil)
end
```
**代码说明:**
1. 在创建第二个序列帧动画 `dier` 之后,使用 `GUI:Image_Create` 创建了一个名为 `"right_img"` 的图片控件。
2. 图片位置设置为 `(screenWidth - 150, screenHeight/2)`,即屏幕右侧(距离右边150像素),垂直居中。
3. 使用 `GUI:setAnchorPoint` 将锚点设置为图片中心,便于定位。
4. 使用 `GUI:setOpacity` 将图片初始透明度设置为0,使其完全透明。
5. 使用 `GUI:Timeline_FadeIn` 启动一个淡入动画,在1秒内将图片透明度从0过渡到255,实现淡入效果。
这样,当第一个动画播放完毕触发 `jieshu` 函数时,会同时创建第二个序列帧动画和在屏幕右侧淡入显示的图片。
← 返回问答库