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