unity c# 代码示例

1、

using UnityEngine;
using System.Collections;

public class AnimatorMove : MonoBehaviour {

    public float DirectionDampTime = .25f;
    private Animator animator;  //声明一个动作机变量 animator
    
    void Start () {
        animator = GetComponent<Animator>();
    }
    
    
    void Update ()
    {
        if (animator == null) return;    //return后就不会执行下面操作

        AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(0);// 判断动画是否播放完成
        if (stateInfo.IsName("Base Layer.Run"))
        {
            if (Input.GetButton("Fire1"))
                animator.SetBool("Jump", true);
        }
        else
            animator.SetBool("Jump", false);
        if (Input.GetButtonDown("Fire2") && animator.layerCount >= 2)
            animator.SetBool("Hi", true);
        else
            animator.SetBool("Hi", false);
        float h = Input.GetAxis("Horizontal");
        float v = Input.GetAxis("Vertical");
        animator.SetFloat("Speed", h * h + v * v);
        animator.SetFloat("Direction", h, DirectionDampTime, Time.deltaTime);
    }
}

2、

private Animator animator;

  void Start()
  {
       animator = this.GetComponent<Animator>();
  }

  void Update()
  {
      AnimatorStateInfo  info = animator.GetCurrentAnimatorStateInfo(0);
    // 判断动画是否播放完成
      if( info.normalizedTime >= 1.0f)
      {
          DoSomething();
      }
  }
原文地址:https://www.cnblogs.com/wshyj/p/6380388.html