UIMovieClip
继承自:
描述
UI电影剪辑组件。用于在UI中播放动画序列
属性
string GifPath |
|---|
| GIF动画资源路径。指定要播放的GIF动画文件的资源路径。推荐使用帧间隔稳定且每帧15ms的GIF动画,不稳定的帧间隔可能导致动画播放时出现闪烁或卡顿现象。 |
bool AutoSize |
|---|
| 是否启用自适应尺寸。默认值为false,使用固定尺寸 |
bool IsPlaying |
|---|
| 播放状态控制。控可以通过此属性动态控制动画的播放和暂停。默认值为false,不自动播放 |
int CilpFrame |
|---|
| 当前播放帧数。设置或获取当前播放的动画帧索引,从0开始计数。可以通过修改此值来跳转到指定帧,实现精确的动画控制。默认值为0 |
float RepeatDelay |
|---|
| 重复播放延迟时间。设置动画播放完成后到重新开始播放之间的延迟时间,单位为秒。默认值为0,无延迟 |
float DelayPer |
|---|
| 单帧播放延迟时间。设置每帧动画的显示持续时间,单位为秒。数值越小播放越快,数值越大播放越慢。默认值为0 |
bool Swing |
|---|
| 摆动播放模式。启用后动画会正向播放完成后反向播放,形成来回摆动的效果。默认值为false,正常循环播放 |
成员函数
| 添加一张图片资源到动画序列 |
void ClearTex () |
|---|
| 清理动画序列所有的图片资源 |
事件
| 当成功添加一张图片资源到动画序列时触发的事件。此事件在AddTex方法成功加载并添加图片资源后触发 |
代码示例
lua
-- 创建UI根节点
local root = SandboxNode.new('UIRoot', game.WorkSpace)
root.Name = 'uiroot'
-- 创建UI电影剪辑组件
local MovieClip = SandboxNode.new('UIMovieClip', root)
MovieClip.Size = Vector2.new(200, 200)
MovieClip.Pivot = Vector2.new(0, 0)
MovieClip.Position = Vector2.new(0, 0)
-- 方式1:使用GIF动画资源,推荐使用帧间隔稳定且每帧15ms的GIF动画,不稳定的帧间隔可能导致动画播放时出现闪烁或卡顿现象
MovieClip.GifPath = "sandboxId://animation/example.gif" -- 设置GIF动画路径(注意:使用时需要填写实际的GIF动画资源路径)
MovieClip.AutoSize = true -- 启用自适应尺寸
MovieClip.RepeatDelay = 1 -- 设置重复播放延迟为1秒
MovieClip.Swing = false -- 禁用摆动播放模式
MovieClip.IsPlaying = true -- 开始播放动画
-- 方式2:手动添加图片序列创建动画
MovieClip.IsPlaying = false -- 暂停播放
MovieClip:ClearTex() -- 清理现有动画序列
local paths = { -- 图片资源路径列表(注意:使用时需要填写实际的GIF动画资源路径)
"sandboxId://sprite/alienBlue_walk1.png",
"sandboxId://sprite/alienBlue_walk2.png"
}
MovieClip.AddTexSuccess:connect(function(texturePath, index)
print("成功加载第 " .. index .. " 张图片: " .. texturePath)
if index == #paths then
MovieClip.DelayPer = 0.15 -- 设置每帧播放时间
MovieClip.RepeatDelay = 0 -- 设置重复播放延迟为0秒
MovieClip.IsPlaying = true -- 开始播放动画
end
end)
for i = 1, #paths do -- 添加所有图片资源到加载队列
MovieClip:AddTex(paths[i])
end