我正在做我的第一场比赛,但我被困住了。我正在制作主菜单。我要确保当我按下开始游戏按钮时,动画播放并开始该游戏。我不知道从哪里开始。启动游戏的按钮有效,并且我已经创建了动画,并且可以工作,但是我不知道该如何组合。
我试图使按钮播放带有'animation.play'的动画,但这不起作用。
谢谢。
答案 0 :(得分:2)
*引用的答案*
首先,打开您的动画器并创建一个新的bool,称为“ Run”或您会记住的东西。 接下来,编写一个这样的脚本,并将其放在角色上。
public void PlayAnimation() {
GetComponent<Animator>().SetBool("Throw",true);
}
现在,创建一个新的UI按钮,然后单击“ +”按钮以添加新的OnClick功能。
接下来,将您的玩家拖到GameObject预制插槽中,单击底部的下拉菜单,找到脚本的名称,然后转到您创建的功能(例如,在本例中为PlayAnimation() )。
您可以检查Unity answers 和Here
答案 1 :(得分:1)
如果您要制作更多的动画,请考虑为游戏实现动画控制器。
在您的Animations文件夹中,RMB-> Create-> Animator Controller。接下来为其添加一个Idle动画(默认情况下是必需的),只需创建一个新的默认动画,然后添加所需的动画(例如FadeIn等)。您将得到图片中的东西。接下来,将您的Animator控制器附加到要设置动画的GameObject。
对于您的脚本,考虑在GameManager或AnimationController等下实现它(这是一个好习惯)。得到这样的东西:
public class GameManager : MonoBehaviour
{
public GameObject objectToAnimate;
private Animator animator;
private void Awake() => animator = objectToAnimate.GetComponent<Animator>();
public PlayAnimation() => animator.Play("FadeIn");
}
别忘了填写objectToAnimate
字段并将PlayAnimation()
函数附加到按钮上。
答案 2 :(得分:0)
Shrembo所说的差不多,但是,如果您想使用按钮触发动画,我就不会使用布尔-我会使用触发器,因为您需要在某一时刻将布尔设置为false。
因此,首先您需要通过在项目视图中单击>创建>动画控制器来创建动画控制器。然后打开它并拖动动画。现在要触发动画,您需要添加一个过渡,并在上述过渡上添加trigger参数。 (在右侧,您可以创建该触发器)
现在在代码中,您将执行以下操作:
public class AnimationMotor : MonoBehaviour
{
public Button AnimationButton;
private Animator animator;
private void Start()
{
AnimationButton.onClick.AddListener(() =>
{
animator.SetTrigger("MyTrigger");
});
}
}