Animator.SetTrigger
切换到手册
public void SetTrigger
(string name);
public void SetTrigger
(int id);
参数
name
参数名称。
id
参数 ID。
描述
设置给定触发器参数的值。
该方法允许您设置(即激活)动画触发器,以使动画控制器的状态机中的流程发生更改。动画参数页面描述了 Animator Controller Parameters 窗口的用途。Trigger 是 4 个可选选项之一。选择该选项会将 Trigger 添加到所选参数的列表中。将其添加到所选列表后,可以为其命名。与同样具有 true/false 选项的 bool 不同,Trigger 的 true 选项会自动返回到 false。一个典型的示例是用于 Jump 选项。如果在运行期间输入该选项,角色将跳跃。跳跃完成后,角色恢复为上一个动作(可能是行走或跑步状态)。下面的示例脚本使用 SetTrigger 在按 UpArrow 或 DownArrow 时激活 Jump 或 Crouch 触发器。
//Attach this script to a GameObject with an Animator component attached.
//For this example, create parameters in the Animator and name them “Crouch” and “Jump”
//Apply these parameters to your transitions between states//This script allows you to trigger an Animator parameter and reset the other that could possibly still be active. Press the up and down arrow keys to do this.using UnityEngine;public class Example : MonoBehaviour
{
Animator m_Animator; void Start()
{
//Get the Animator attached to the GameObject you are intending to animate.
m_Animator = gameObject.GetComponent();
} void Update()
{
//Press the up arrow button to reset the trigger and set another one
if (Input.GetKey(KeyCode.UpArrow))
{
//Reset the "Crouch" trigger
m_Animator.ResetTrigger("Crouch"); //Send the message to the Animator to activate the trigger parameter named "Jump"
m_Animator.SetTrigger("Jump");
} if (Input.GetKey(KeyCode.DownArrow))
{
//Reset the "Jump" trigger
m_Animator.ResetTrigger("Jump"); //Send the message to the Animator to activate the trigger parameter named "Crouch"
m_Animator.SetTrigger("Crouch");
}
}
}
|