天天看点

Unity 代码帧动画

Unity序列帧动画  可以使用Unity本身自带的切图加Animation制作。详细制作可以参考这个网址:

http://blog.csdn.net/liqiangeastsun/article/details/46356939

还可以通过代码制作,也不是很复杂,这两种情况根据项目需求使用。

废话不多说,上代码

添加引用:

using UnityEngine;

using System;

using UnityEngine.UI;

using System.Collections.Generic;

using System.Collections;

添加控件:

public GameObject go;//创建一个UI Image物体挂载上;

public sprite[] picture=new sprite[5];//将五个sprite挂载   也可以通过代码查找资源的方法获取

//限制帧的时间

        private float m_fTime = 0;

        //一秒多少帧

        private float m_fFps =7;

        //暂停

        private bool m_bStop = false;

        //当前帧

        private int NowZhen;

添加方法:

private void Update()

        {         

                DrawAnimation();          

        }

 void DrawAnimation()

        {

            //计算限制帧的时间

            m_fTime += Time.deltaTime;

            //超过限制帧切换贴图

            if (m_fTime >= 1.0 / m_fFps && m_bStop == false)

            {

                //帧序列切换 切换sprite

               go.GetComponent<Image>().sprite=picture[i];

                NowZhen ++;

                //限制帧清空

                m_fTime = 0;

                //播放完所有的sprite

                if (NowZhen >= DeskSmok.Length)

                {

                   // 添加动画完你想触发的事情

m_bStop = true;//停止播放

NowZhen = 0;//循环播放

                }

            }

        }