【GamePlay】2d动画播放脚本

有时候想控制一个简单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);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/LvPartner/article/details/129116675