OneShotOneKill/Assets/Script/UGUI/Util/ImageLoop.cs

49 lines
1.2 KiB
C#
Raw Permalink Normal View History

2026-01-07 21:27:42 +00:00
using System.Collections;
using UnityEngine;
using UnityEngine.UI;
public class ImageLoop : MonoBehaviour
{
public Sprite[] sprites;
public int LoopSpeed = 2;
[Tooltip("0 초과 시 돌아감"), Range(0f, 10f)]
public float zRot_Speed = 0f;
Image image;
SpriteRenderer spriteRenderer;
private void Awake()
{
image = GetComponent<Image>();
spriteRenderer = GetComponent<SpriteRenderer>();
}
private void OnEnable()
{
StopAllCoroutines();
StartCoroutine(Co_Update());
}
private IEnumerator Co_Update()
{
int index = -1;
float r_z = 0f;
while (true)
{
++index;
if (index >= sprites.Length)
index = 0;
if (image) image.sprite = sprites[index];
else if (spriteRenderer) spriteRenderer.sprite = sprites[index];
if (zRot_Speed > 0f)
{
transform.eulerAngles = new Vector3(0f, 0f, r_z);
r_z += zRot_Speed;
if (r_z > 359f) r_z = 0f;
}
for (int i = 0; i < LoopSpeed; i++)
yield return null;
}
}
}