49 lines
1020 B
C#
49 lines
1020 B
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
[RequireComponent(typeof(Image))]
|
|
public class ImageFrameAni : MonoBehaviour
|
|
{
|
|
[SerializeField] Sprite[] mSprFrames;
|
|
[SerializeField] int mFrameRate = 30;
|
|
[SerializeField] bool mIsPlaying = true;
|
|
|
|
private Image mImg;
|
|
|
|
private int mCurIndex;
|
|
|
|
private float mDelta;
|
|
private float mTimer;
|
|
|
|
private void Awake()
|
|
{
|
|
mImg = GetComponent<Image>();
|
|
}
|
|
|
|
private void Start()
|
|
{
|
|
mDelta = 1.0f / mFrameRate;
|
|
mTimer = mDelta;
|
|
|
|
mCurIndex = 0;
|
|
mImg.sprite = mSprFrames[mCurIndex];
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
if (mSprFrames.Length > 0 && mIsPlaying)
|
|
{
|
|
mTimer -= Time.deltaTime;
|
|
|
|
if (mTimer <= 0)
|
|
{
|
|
mCurIndex = (mCurIndex + 1) % mSprFrames.Length;
|
|
mImg.sprite = mSprFrames[mCurIndex];
|
|
|
|
mTimer = mDelta;
|
|
}
|
|
}
|
|
}
|
|
} |