有时候想控制一个简单2d物体的序列帧播放,比如旋转的金币。
单独建立一个Animator的话很麻烦,自己用脚本控制播放,脚本如下。
using UnityEngine;
using System.Collections;
public class SpriteAnimation : MonoBehaviour
{
public float FPS = 8;
private float secPerFrame;
public Sprite[] spriteSheet;
private SpriteRenderer sprite;
void Awake()
{
sprite = gameObject.GetComponent<SpriteRenderer>();
}
void Start()
{
secPerFrame = 1f / FPS;
StartCoroutine(animate());
}
void Update()
{
// secPerFrame = 1f / FPS;
}
private IEnumerator animate()
{
int frame = 0;
while (true)
{
frame += 1;
if (frame >= spriteSheet.Length)
{
frame = 0;
}
sprite.sprite = spriteSheet[frame];
yield return new WaitForSeconds(secPerFrame);
}
}
}