function diji(msgID, msgData)
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, f
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-05-02 14:50:57 |
👁️ 阅读: 3
```lua
function diji(msgID, msgData)
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, false, 1)
local bg = GUI:Image_Create(parent, 'bg', 0, 0, 'res/yuding/tianshudonghua/1.png')
GUI:setContentSize(bg, screenWidth, screenHeight)
GUI:setAnchorPoint(bg, 0.5, 0.5)
GUI:setPosition(bg, screenWidth/2, screenHeight/2)
local fullScreenAnim = GUI:Frames_Create(
parent,
"FullScreenFrames",
screenWidth/2,
screenHeight/2,
"res/yuding/tianshudonghua/fanshuzhen/a",
".png",
1,
35,
{speed = 100, count = 35, loop = 1}
)
GUI:setAnchorPoint(fullScreenAnim, 0.5, 0.5)
GUI:setContentSize(fullScreenAnim, screenWidth, screenHeight)
GUI:setIgnoreContentAdaptWithSize(fullScreenAnim, false)
-- 添加序列帧播放完成事件
local function onAnimationComplete()
SL:Print("序列帧播放结束了")
end
GUI:Effect_addOnCompleteEvent(fullScreenAnim, onAnimationComplete)
end
```
**代码说明:**
1. **使用`GUI:Effect_addOnCompleteEvent`函数**:这个函数专门用于监听特效(包括序列帧动画)的播放完成事件
2. **参数说明**:
- `widget`:序列帧动画对象(`fullScreenAnim`)
- `value`:回调函数,当序列帧播放完成时会自动调用
3. **打印消息**:在回调函数中使用`SL:Print()`打印"序列帧播放结束了"
**注意**:
- 确保`loop = 1`表示只播放一次,播放完成后才会触发完成事件
- 如果序列帧资源路径或参数设置有问题,可能不会触发完成事件
- 所有打印都使用`SL:Print()`而不是`print()`
```lua
function diji(msgID, msgData)
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, false, 1)
local bg = GUI:Image_Create(parent, 'bg', 0, 0, 'res/yuding/tianshudonghua/1.png')
GUI:setContentSize(bg, screenWidth, screenHeight)
GUI:setAnchorPoint(bg, 0.5, 0.5)
GUI:setPosition(bg, screenWidth/2, screenHeight/2)
local fullScreenAnim = GUI:Frames_Create(
parent,
"FullScreenFrames",
screenWidth/2,
screenHeight/2,
"res/yuding/tianshudonghua/fanshuzhen/a",
".png",
1,
35,
{speed = 100, count = 35, loop = 1}
)
GUI:setAnchorPoint(fullScreenAnim, 0.5, 0.5)
GUI:setContentSize(fullScreenAnim, screenWidth, screenHeight)
GUI:setIgnoreContentAdaptWithSize(fullScreenAnim, false)
-- 添加序列帧播放完成事件
local function onAnimationComplete()
SL:Print("序列帧播放结束了")
end
GUI:Effect_addOnCompleteEvent(fullScreenAnim, onAnimationComplete)
end
```
**代码说明:**
1. **使用`GUI:Effect_addOnCompleteEvent`函数**:这个函数专门用于监听特效(包括序列帧动画)的播放完成事件
2. **参数说明**:
- `widget`:序列帧动画对象(`fullScreenAnim`)
- `value`:回调函数,当序列帧播放完成时会自动调用
3. **打印消息**:在回调函数中使用`SL:Print()`打印"序列帧播放结束了"
**注意**:
- 确保`loop = 1`表示只播放一次,播放完成后才会触发完成事件
- 如果序列帧资源路径或参数设置有问题,可能不会触发完成事件
- 所有打印都使用`SL:Print()`而不是`print()`
← 返回问答库