当前位置: 首页 > article >正文

用Unity2D制作一个人物,实现移动、跳起、人物静止和动起来时的动画:中(人物移动、跳起、静止动作)

上回我们学到创建一个地形和一个人物,今天我们实现一下人物实现移动和跳起,依次点击,我们准备创建一个C#文件

创建好我们点击进去,就会跳转到我们的Vision Studio,然后输入这些代码

using UnityEngine;

public class Move : MonoBehaviour // 定义一个名为Move的类,继承自MonoBehaviour
{
    private Rigidbody2D rb;       // 定义一个私有变量rb,类型为Rigidbody2D,用于存储刚体组件的引用

    // Start方法在脚本实例化后、第一帧更新前被调用
    void Start()
    {
        // 获取并赋值当前GameObject上的Rigidbody2D组件到rb变量
        rb = GetComponent<Rigidbody2D>(); 
    }

    // Update方法每帧调用一次
    void Update()
    {
        // 获取水平方向的输入值,不进行平滑处理
        float Level = Input.GetAxisRaw("Horizontal");
        rb.velocity = new Vector2(Level * 5f, rb.velocity.y); // 设置rb的水平速度为dirX乘以5,垂直速度保持不变

        if (Input.GetButtonDown("Jump")) // 如果按下跳跃按钮
        {
            rb.velocity = new Vector2(rb.velocity.x, 5f); // 设置rb的垂直速度为5,水平速度保持不变
        }
    }
}

ctrl + S 保存一下,然后我们就可以回到我们的Unity编辑器了;

运行一下,我们就可以用 a d 键控制人物的左右移动,按下空格键就可以实现人物的跳跃。

此时,我们就可以进行下一步了,实现人物的动画

首先,我们先实现一下人物静止时的动画:

        找到我们人物的那个文件夹,右键鼠标,然后你们看图吧

创建好后取个名字,我取的是Idle,大家可以和我一样,把我们刚刚创建好的文件拖拽到我们页面左边的Player里面,此时就会新创建一个Animator(如果和我一样,大家就是对的)

然后点击我们上面刚才自己创建的Idle,就会出现如下的界面,然后我们点击Player选中它

此时,哎!它就亮了!!!我们把人物文件夹里面的Idle打开,会看到好多张照片,我们点击第一张,然后按住Shift键,再点击最后一张,一起把每一帧照片拖拽到这个页面里

的确能发现人物动了,然后呢只动了一下,这是因为:我们没有设置循环播放!

当我们点击Idle的时候,界面右边会出现

把那个Loop Time选中,我们再运行一下看看!

然后有的人啊,就觉得太快了,那我们就把速度调慢,在这里奥,旧版本会有Sample显示,但是新版本没有,我的22版本都没有,所以我们需要把这个找到

把这个调整到20我们再试试看!这个时候应该就差不多了吧,大家想调多少就调多少吧

接下来我们做人物左右移动和跳起的动画,跟上面一样,我们先创建Animation(跟创建idle步骤一样,没区别),同样也拖拽到我们Player上面,然后点击新创建的,点击Player让Animation亮起来,这个时候需要注意了

我们需要在这里面选中Move(Move是我刚刚创建的Animation),这个时候我们改变的属性就是Move里面的了喔,嗯嗯就是这样。

把人物移动的动画帧拽进去,我这个文件夹里面的是Run

同理,Jump和Fall(跳起和下落)自己创建吧(别忘了循环播放!),这个时候我们还不能在运行的时候实现这些功能

下一博客,将为大家展示人物跳起,下落,左右移动时候的动画


http://www.kler.cn/a/297356.html

相关文章:

  • C++为什么要引入智能指针?
  • 2024最新网络安全自学路线,内容涵盖3-5年技能提升
  • 关于OceanBase MySQL 模式中全局索引 global index 的常见问题
  • IIC通信协议笔记
  • 【Kubernetes】常见面试题汇总(二)
  • 欧拉下搭建第三方软件仓库—docker
  • 前端几种常见框架【第一节】
  • 如何理解有效值电流?电流的均方根值
  • 【LabVIEW学习篇 - 20】:人机界面交互设计04
  • 线程的状态(java)
  • 使用WMI改变显示器亮度
  • 浅谈C# MQTT
  • 数据结构之折半查找
  • 浅谈C#之ConcurrentDictionary
  • 投放Facebook广告开户全流程解析:从开户到广告投放的实用指南
  • Python入门3
  • 嵌入式学习——数据结构
  • 数据结构——初识数据结构
  • 《卷积神经网络 CNN 原理探秘》
  • 无人机之穿越机的类型