Cute_demon_attacks/meng_yao/Assets/communal/UI/SceneSpriteAniationPro.cs

92 lines
1.7 KiB
C#
Raw Normal View History

2024-11-19 16:48:27 +08:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
[System.Serializable]
public class Scenesprites
{
public List<Sprite> mysprites = new List<Sprite>();
}
public class SceneSpriteAniationPro : MonoBehaviour
{
[Header("֡<><D6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ")]
public List<Mysprites> sprites;
[Header("<22><><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD><EFBFBD><EFBFBD>image")]
public SpriteRenderer image;
[Header("֡ʱ<D6A1><CAB1>,<2C><>λ<EFBFBD><CEBB><EFBFBD>룬Ĭ<EBA3AC><C4AC>100")]
public float Aintime = 100f;
[Header("<22><><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>")]
public int myspritesIndex = 0;
private int index = 0;
private Mysprites myspritesAni;
2024-11-25 14:35:52 +08:00
private bool _stop=false;
2024-11-19 16:48:27 +08:00
// 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.sprite = myspritesAni.mysprites[index];
index++;
if (index > myspritesAni.mysprites.Count - 1)
{
2024-11-25 14:35:52 +08:00
if (_stop)
{
return;
}
2024-11-19 16:48:27 +08:00
index = 0;
}
}
2024-11-25 14:35:52 +08:00
public void changeAni(bool TorF)
{
if (TorF)
{
_stop = false;
index = 0;
ainstart();
}
else
{
_stop = true;
}
}
2024-11-19 16:48:27 +08:00
private void OnDestroy()
{
sprites = null;
myspritesAni = null;
}
}