zoukankan      html  css  js  c++  java
  • unity animation readonly 无法加事件?

    目前找到的解决方案是用代码加Event:

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class NewBehaviourScript : MonoBehaviour {
    
        public bool b = false;
        public bool b1 = true;
    
        
        public AnimationEvent mEvent;
        
    
    
    	// Use this for initialization
    	void Start () {
    
           Animation a =  this.GetComponent<Animation>();
    
           int count = a.GetClipCount();
    
            foreach (AnimationState state in a)
            {
                
                Debug.Log("AnimationState:" + state.name);
            }
    
            mEvent = new AnimationEvent();
            mEvent.functionName = "Skill_01";
            mEvent.time = 5.0f;//0.18f;
    
            a.clip.AddEvent(mEvent);
    
           
            a.Play();
            
            Debug.Log("clip:" + a.clip.name);
    
    
            Debug.Log("count:" + count.ToString());
    
    		
    	}
    
        public void Skill_01()
        {
    
            Debug.Log("Skill_01 Run!");
    
        }
    	
    	// Update is called once per frame
    	void Update () {
    
            if(b && b1)
            {
                b1 = false;
                Animation a = this.GetComponent<Animation>();
                //a.CrossFade("eat", 4.0f);
                //a.CrossFade("eat"); //like play
                a.Play("eat");
            }
    
    		
    	}
    }
    

      

      

     注意time不能超过动画的长度,否则会等这个时间

  • 相关阅读:
    JNday7-pm
    JNday7-am
    bzoj1047理想的正方形
    关于OI中简单的常数优化
    bzoj1050旅行
    bzoj1044木棍分割
    bzoj1875 HH去散步
    bzoj1059矩阵游戏
    bzoj2705Longge的问题
    bzoj1833数字计数
  • 原文地址:https://www.cnblogs.com/jiahuafu/p/6829743.html
Copyright © 2011-2022 走看看