var frames : Texture[];
var framesPerSecond = 10;
function Update() {
}
使用:将脚本新建保存,然后建一个cube或者平面,把脚本拖上,然后设置动画的贴图,然后play就可以测试了
由于Unity 不支持GIF动画贴图,所以目前在Unity里面做动态贴图,有两个办法。
一种是将图片导入成关键帧图片序列,类似(0,1,2...)然后在用脚本根据时间逐帧加载贴图.
另一种是将动画里面的关键帧画在一张大图上,然后用OFFSET来根据时间决定贴图的显示位置,从而实现图片改变的动画效果。
下面是一个简单的脚本,翻译自wiki :
//声明整个Texture的分布情况,4行4列,4个动画
var colCount
var rowCount
//声明想要播放的动画起始位置
//比如rowNumber = 0 colNumber = 0
// rowNumber = 3 colNumber = 0 代表黄色第一个笑脸
var rowNumber
var colNumber
var totalCells
var fps
var offset
//更新动画,传递参数给SetSpriteAnimation()
function Update () { SetSpriteAnimation(colCount,rowCount,rowNumber,colNumber,totalCells,fps);
//设置动画SetSpriteAnimation(贴图总列数,总行数,指定动画起始帧所行号,列号,动画总帧数,帧率)
function SetSpriteAnimation(colCount : int,rowCount : int,rowNumber : int,colNumber : int,totalCells : int,fps : int){
}
例子里面的贴图,附件中有。使用这个脚本很简单,只要保存然后贴在一个cube上,然后就可以观看效果了。