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;//循环播放
}
}
}