动画循环播放


#pragma strict

var t1:boolean=false;
var t2:boolean=false;
var t3:boolean=false;
var currentTime:float;
var indvel:float;

function Start(){
   currentTime = Time.time;
   t1 = true;
}
   
function Update(){
  Play();
}
   
function Play() {
 if(t1){ 
       animation.CrossFade("Run",0.2,PlayMode.StopAll);
    if(Time.time>currentTime+indvel*2) {
        if(!t2)t2=true;
     if(t1) t1=false;
     currentTime=Time.time;
    }
}
else if(t2){
    animation.CrossFade("Walk",0.2,PlayMode.StopAll);
 if(Time.time>currentTime+indvel/2) {
        if(t2)t2=false;
     if(!t3) t3=true;
     currentTime=Time.time;
    }
}
else if(t3){
    animation.CrossFade("Idle",0.2,PlayMode.StopAll);
 if(Time.time>currentTime+indvel) {
        if(t3)t3=false;
     if(!t1) t1=true;
     currentTime=Time.time;
    }
}
 
}

 

#pragma strict
var AN:Animation;
var bool = true;
var ani:String = "can";
function Start () {
   bool = true;
  AN =  GetComponent.<Animation>();
  print(animation["Run"].clip.length);
  
    do{
      yield StartCoroutine(ani);
    }while(true);
}

function Update(){
   if(bool)
    ani = "can";
    else
    ani = "to";
    
}

function can(){
   yield StartCoroutine("doit");
    yield StartCoroutine("ro");
}

function doit(){
   AN.CrossFade("Run",0.2);
   yield WaitForSeconds (animation["Run"].clip.length*2);
}

function ro(){
   AN.CrossFade("Walk",0.2);// Wait for the animation to have finished
   yield WaitForSeconds (animation["Walk"].clip.length*2);
}

function to(){

   AN.CrossFade("Idle",0.2);// Wait for the animation to have finished
   //yield WaitForSeconds (animation["Walk"].clip.length*5);
}


 

 

posted @ 2012-07-23 21:39  softimagewht  阅读(231)  评论(0编辑  收藏  举报