今天学习了如何使用NGUI做序列帧动画

1. 新建一个场景,新建一个2D UI ,在Panel节点下新建一个UISpirit,图片选择序列帧的第一帧图片。

2.如何让Spirit动态换图片,是我们要解决的重要问题。只要UIspirit能够根据时间动态的换图片就可以做到播放序列帧动画。其实很简单,最重 要的就是UISpirit的Name属性。我们只要能够动态改变UISpirit的SpiritName,就可以实现动态换图的功能。

代码如下

public bool ActivateWait = false;

    float fireRate = 0.2f;
    int i = 0;
    float nextFire;
    string[] ActivatorTexture = new string[] { "activity00", "activity01", "activity02", "activity03", "activity04", "activity05", "activity06", "activity07", "activity08", "activity09", "activity10", "activity11" };     
    void Awake()
    {
        this.GetComponent<UISprite>().enabled = false;
    }

    // Use this for initialization
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        if (ActivateWait)
        {
            this.GetComponent<UISprite>().enabled = true;
            if (i < ActivatorTexture.Length)
            {
                if (Time.time > nextFire)
                {
                    nextFire = Time.time + fireRate;
                     this.GetComponent<UISprite>().spriteName= ActivatorTexture;
                    i++;
                }
            }
            else
            {
                i = 0;
            }
        }
        else
        {
            this.GetComponent<UISprite>().enabled = false;
        }
    }