Skip to content

UIMovieClip

继承自:

描述

UI电影剪辑组件。用于在UI中播放动画序列

属性

stringGifPath
GIF动画资源路径。指定要播放的GIF动画文件的资源路径。推荐使用帧间隔稳定且每帧15ms的GIF动画,不稳定的帧间隔可能导致动画播放时出现闪烁或卡顿现象。
boolAutoSize
是否启用自适应尺寸。默认值为false,使用固定尺寸
boolIsPlaying
播放状态控制。控可以通过此属性动态控制动画的播放和暂停。默认值为false,不自动播放
intCilpFrame
当前播放帧数。设置或获取当前播放的动画帧索引,从0开始计数。可以通过修改此值来跳转到指定帧,实现精确的动画控制。默认值为0
floatRepeatDelay
重复播放延迟时间。设置动画播放完成后到重新开始播放之间的延迟时间,单位为秒。默认值为0,无延迟
floatDelayPer
单帧播放延迟时间。设置每帧动画的显示持续时间,单位为秒。数值越小播放越快,数值越大播放越慢。默认值为0
boolSwing
摆动播放模式。启用后动画会正向播放完成后反向播放,形成来回摆动的效果。默认值为false,正常循环播放

成员函数

voidAddTex (string value)
添加一张图片资源到动画序列
voidClearTex ()
清理动画序列所有的图片资源

事件

SBXSignalAddTexSuccess (string texturePath, int index)
当成功添加一张图片资源到动画序列时触发的事件。此事件在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