unity gif动画按钮js和c#脚本

using UnityEngine;
using System.Collections;

public class GIFCS : MonoBehaviour {

	// Use this for initialization
	private Object[] anim ;
    private int nowFram  ;
    private int mFrameCount ;
    private float fps = 15;
    private float time = 0;
	void Start () {
	//在project 下面建立Resources/animation,名字自定义;
      anim = Resources.LoadAll("animation");
      //获取图片数量
	  mFrameCount = anim.Length;
	
	}
	void OnGUI()
	{
		DrawAnimation(anim,new Rect(Screen.width-150,Screen.height-150,100,100));
	}
	
	// Update is called once per frame
	void Update () {
	
	}
	
	void  DrawAnimation(Object[] tex, Rect rect )
    {

		GUI.DrawTexture(rect, (Texture)tex[nowFram], ScaleMode.StretchToFill, true, 0);
		


		time += Time.deltaTime;

		 if(time >= 1.0 / fps)
		  {

      	 	 nowFram++;

      	 	 time = 0;


      	 	 if(nowFram >= mFrameCount)
      	 	 {
      	 	 	nowFram = 0;
      	 
				
      	 	 	
      	 	  }
           }

       }
}

#pragma strict
//动画数组
var anim : Object[]; 
//帧序列
var nowFram : int;
//动画总帧数
var mFrameCount : int;
//限制一秒多少帧
private var fps : float = 15;
//限制帧的时间
private var time : float = 0;
function Start () {
    //在project 下面建立Resources/animation,名字自定义;
      anim = Resources.LoadAll("animation");
      //获取图片数量
	  mFrameCount = anim.Length;

}
function OnGUI()
{
   
   //绘制一个动画的坐标,大小,
    DrawAnimation(anim,new Rect(Screen.width-150,Screen.height-150,100,100));
}

function  DrawAnimation(tex:Object[] , rect : Rect)
{
	  //绘制当前帧 
    GUI.DrawTexture(rect,tex[nowFram], ScaleMode.StretchToFill, true, 0);


           //计算限制帧的时间!
		time += Time.deltaTime;

		 if(time >= 1.0 / fps){
             //图片切换
      	 	 nowFram++;
             //限制帧清空
      	 	 time = 0;

             //大于总帧时,从0帧开始从新来过,
      	 	 if(nowFram >= mFrameCount)
      	 	 {
      	 	 	nowFram = 0;
					
        } 
      }
}

function Update () {

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值