代码切换动画状态-unity3d之2d游戏开发视频教程入门第十二课

看标题就知道今天这个视频是在unity3d下,怎么用C#代码控制游戏动画,比如像角色通过WSAD行走、JKUI释放技能等动画,是做游戏的重要环节之一,我们继续往下看。

在Unity中,可以使用Animator组件和Animator Controller来控制动画的状态。下面是一个简单的示例代码,演示如何使用代码控制动画状态:

首先,创建一个Animator Controller,然后在Inspector窗口中添加一个新的状态。假设我们创建了一个名为“State1”的状态。

接下来,我们需要将Animator Controller与动画关联起来。假设我们有一个名为“MyAnimation”的动画,我们可以在Inspector窗口中将Animator Controller拖放到动画的Animator组件中。

现在,我们可以使用代码来控制动画的状态。下面是一个简单的示例代码:

using UnityEngine;

public class AnimationController : MonoBehaviour
{
    Animator animator;

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

    public void SetState(string stateName)
    {
        animator.SetState(stateName);
    }
}

在这个代码中,我们首先获取Animator组件的引用,然后定义了一个名为“SetState”的方法,该方法接受一个字符串参数,表示要设置的状态名称。在方法内部,我们使用“SetState”方法将Animator组件的状态设置为指定的状态。

现在,我们可以使用这个方法来控制动画的状态。例如,假设我们在另一个脚本中需要将动画状态设置为“State1”,我们可以像下面这样调用“SetState”方法:

AnimationController animationController;

void Start()
{
    animationController = FindObjectOfType<AnimationController>();
}

void Update()
{
    if (Input.GetKeyDown(KeyCode.Space))
    {
        animationController.SetState("State1");
    }
}

在这个代码中,我们首先获取“AnimationController”组件的引用,然后在按下空格键时调用“SetState”方法将动画状态设置为“State1”。

需要注意的是,这只是一个简单的示例代码,实际使用中可能需要根据具体需求进行更复杂的逻辑控制。同时,在使用代码控制动画状态时,需要确保Animator组件的“Apply Root Motion”选项已经被关闭。


往期视频回顾:

01第一课【unity的介绍】
02第二课【我的第一个项目】
03第三课 【创建游戏对象 GmaeObject】
04第四课【 创建游戏对象 下】
05第五课 【序列图剪切工具】
06第六课【 我的第一个脚本】

07第七课【 代码控制游戏物体】

08第八课【代码获取游戏对象的方法】

09第九课【 碰撞器和刚体的介绍】

10第十课 【动画的制作 (上)】

11第十一课【动画的制作 (下)】

代码切换动画状态-unity3d之2d游戏开发视频教程入门
© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享