using UnityEngine;
using UnityEngine.UI;
public class FrameAnimationPlayer : MonoBehaviour
{
public Sprite[] frames; // 存储动画帧的数组
public float frameDelay = 0.1f; // 每两帧之间的延迟时间
public Image imageToAnimate; // 要应用动画的Image组件
private float timeSinceLastFrame = 0f;
private int currentFrameIndex = 0;
private bool isPlaying = false;
public string path;
void Start()
{
if (frames.Length == 0)
{
frames = Resources.LoadAll<Sprite>(path);
}
isPlaying = true;
// PlayOrPause(1);
}
public void Play()
{
if (!isPlaying)
{
isPlaying = true;
// imageToAnimate.sprite = frames[0];
}
}
public void Stop()
{
isPlaying = false;
}
private void Update()
{
if (isPlaying)
{
timeSinceLastFrame += Time.deltaTime;
if (timeSinceLastFrame > frameDelay)
{
timeSinceLastFrame = 0f;
currentFrameIndex = (currentFrameIndex + 1) % frames.Length;
imageToAnimate.sprite = frames[currentFrameIndex];
}
}
}
}
Unity播放GIF动图
最新推荐文章于 2025-06-16 16:26:29 发布