Unity3D/Script

AnimationEvent 추가 방법

blueasa 2012. 11. 21. 14:53

  1. var mySkin : GUISkin;
  2. var animatedGameObject : GameObject;
  3. var horOffset = Screen.width * 0.18;
  4. private var animationEvent : AnimationEvent;
  5.  
  6. //Solved: move this function to a script attached to the animatedGameObject
  7. function AnimationEnded(animEvent : AnimationEvent){
  8.  
  9.     animatedGameObject.animation.CrossFade ("idle");
  10.    
  11. }
  12.  
  13. function Start(){
  14.  
  15.     animationEvent = new AnimationEvent();
  16.     animationEvent.time = animatedGameObject.animation["attacco"].clip.length * 0.9;
  17.     //animationEvent.messageOptions = SendMessageOptions.DontRequireReceiver;
  18.     animationEvent.functionName = "AnimationEnded";
  19.     animatedGameObject.animation["animation1"].clip.AddEvent(animationEvent);
  20.     animatedGameObject.animation["animation2"].clip.AddEvent(animationEvent);
  21.    
  22. }
  23.  
  24. function OnGUI () {
  25.     GUI.skin = mySkin;
  26.  
  27.     if(GUI.Button (Rect (Screen.width * 0.0 + horOffset, Screen.height * 0.75,Screen.width * 0.18, Screen.height * 0.25),"")){
  28.    
  29.         animatedGameObject.animation.CrossFade ("animation1");
  30.        
  31.     }
  32.  
  33.     if(GUI.Button (Rect (Screen.width * 0.20 + horOffset, Screen.height * 0.75,Screen.width * 0.18, Screen.height * 0.25),"")){
  34.    
  35.         animatedGameObject.animation.CrossFade ("animation2");
  36.        
  37.     }
  38. }


출처 : http://forum.unity3d.com/threads/19597-AnimationEvent-help-Solved

반응형