Unity 2D 跳跃动画 C#

本文关键字:动画 跳跃 2D Unity | 更新日期: 2023-09-27 18:30:36

我目前正在激活一个触发器参数,以使用以下方法循环跳转动画:

isGrounded是我的"玩家接地布尔值",我用它来确定我的玩家是否可以跳跃。我正在使用子播放器对象并使用Physics2D.lineCast(myPlayer, myPlayerGround, playerMask)来执行此操作。

我使用

空格键触发跳跃动画(使用触发器参数从运行或空闲传输到跳跃动画,这是我目前使用的唯一两个完美运行的其他动画),就像我点击 y 轴跳跃速度一样。

我想不出重置触发器的可靠方法。如果返回 true,我尝试重置它isGrounded但随后我假设我得到了误报,因为只有在返回 true 时它才会首先触发isGrounded?我还尝试通过运行检查来触发动画,以查看isGrounded是否返回 false,但如果是这种情况,如果我从壁架上掉下来,跳跃动画将播放,以及实际跳跃,这当然没有意义。

Unity 2D 跳跃动画 C#

我会提出几个条件,包括速度方向和isGrounded状态。要重置跳跃动画,您必须向下移动,并且必须触发 isGrounded。

为了在这种情况下

取得完美的结果,我总是相信代表们。您可以使用委托,例如您的地面将通过消息,如果玩家确实降落。在这里,我给出了完全相同场景的详细实现。看看我的回答。

必须向动画添加条件。

Animator.SetBool("isTouched", isTouched);

设置新值时,动画将进行动画处理。看看这个教程。