67 lines
1.4 KiB
C#
67 lines
1.4 KiB
C#
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using UnityEngine;
|
||
using UnityEngine.UI;
|
||
|
||
|
||
[System.Serializable]
|
||
public class Mysprites
|
||
{
|
||
public List<Sprite> mysprites = new List<Sprite>();
|
||
}
|
||
|
||
|
||
public class SpriteAniationpro : MonoBehaviour
|
||
{
|
||
[Header("帧动画的图")]
|
||
public List<Mysprites> sprites;
|
||
[Header("播放动画的image")]
|
||
public Image image;
|
||
[Header("帧时间,单位毫秒,默认100")]
|
||
public float Aintime=100f;
|
||
[Header("播放动画的编号")]
|
||
public int myspritesIndex=0;
|
||
private int index=0;
|
||
private Mysprites mysprites;
|
||
// Start is called before the first frame update
|
||
void Start()
|
||
{
|
||
if (image==null)
|
||
{
|
||
Debug.LogError("image is null");
|
||
}
|
||
if (sprites.Count==0)
|
||
{
|
||
Debug.LogError("sprites is not");
|
||
}
|
||
|
||
SetAni(myspritesIndex);
|
||
InvokeRepeating("ainstart", 0f,(Aintime / 1000));
|
||
}
|
||
|
||
|
||
public void SetAni(int Index)
|
||
{
|
||
//Debug.Log(Index);
|
||
mysprites = sprites[Index];
|
||
index = 0;
|
||
}
|
||
|
||
void ainstart()
|
||
{
|
||
Debug.Log(index);
|
||
image.overrideSprite = mysprites.mysprites[index];
|
||
index++;
|
||
if (index > mysprites.mysprites.Count - 1)
|
||
{
|
||
index = 0;
|
||
}
|
||
}
|
||
|
||
private void OnDestroy()
|
||
{
|
||
sprites = null;
|
||
mysprites = null;
|
||
}
|
||
}
|