天天看點

動畫狀态機Animator-Unity3d

該模型一直處于奔跑狀态,點選跳躍則跳躍一次後回到奔跑狀态,點選攻擊後則攻擊一次回到奔跑狀态。

動畫狀态機Animator-Unity3d

控制代碼如下:

using UnityEngine;
using System.Collections;

//該人物一直處于奔跑狀态,點選跳躍則跳躍一次後回到奔跑狀态,點選攻擊後則攻擊一次回到奔跑狀态。
public class p1101 : MonoBehaviour {

    private Animator p1101Animator;

    void Start () {
        p1101Animator = GetComponent<Animator>();
    }

    //點選執行一次跳躍
    public void onClickToJump() {
        //con是Int類型條件,需要自己設定回奔跑狀态(見Update()方法)
        p1101Animator.SetInteger("con",);
    }

    //點選執行一次攻擊
    public void onClickToAtc() {
        //atc是Trigger類型條件,利用Trigger來做狀态機條件,執行後Trigger會自動關閉,适合隻執行一次的狀态
        p1101Animator.SetTrigger("atc");
    }

    void Update() {
        //跳躍狀态執行時,設定傳回奔跑狀态
        //Int,Bool,Float類型狀态需要設定才會回去
        AnimatorStateInfo p1101StateInfo = p1101Animator.GetCurrentAnimatorStateInfo();
        if (p1101StateInfo.IsName("jump")){
            p1101Animator.SetInteger("con", );
        }
    }
}
           

繼續閱讀