49 lines
1.2 KiB
C#
49 lines
1.2 KiB
C#
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;
|
|
}
|
|
}
|
|
} |