Unity2D角色跳跃
文章目录
思路来自B站麦扣的第一期教程:https://www.bilibili.com/video/BV1z4411o7W4
思路
跳跃的动作可以拆分为两个动作,即上升动作和下落动作。
玩家可以在站立过程中起跳,也可以在移动过程中起跳。所以在动画控制器中,待机和移动都可以起跳,转变为上升状态,而下落状态则只能通过上升状态过渡。当玩家角色下落至地面时,应该由下落状态转变为待机,当然也可以转变为移动。
事前准备
public Rigidbody2D rb = GetComponent<RigidBody2D>(); // 获取物体的刚体
public CircleCollider2D cirColl = GetComponent<CircleCollider2D>(); // 获取圆形碰撞体
public Animator anim = GetComponent<Animator>(); // 获取动画控制器
public LayerMask floor; // 获取图层,这个建议自己到Inspector中选
public float jumpForce; // 起跳时的速度
请在你的角色的Game Object添加这些Component。
你需要有四个Anim文件,我的命名为StandAnim,RunAnim,UpAnim,DownAnim。分别对应待机动画,移动动画,上升动画和下落动画。
通过速度判断状态
先配置一下Animator: