1. 程式人生 > >Unity 程式碼幀動畫

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;//迴圈播放

                }
               
                
            }
        }