Unity 2D 跳跃动画 C#
本文关键字:动画 跳跃 2D Unity | 更新日期: 2023-09-27 18:30:36
我目前正在激活一个触发器参数,以使用以下方法循环跳转动画:
isGrounded
是我的"玩家接地布尔值",我用它来确定我的玩家是否可以跳跃。我正在使用子播放器对象并使用Physics2D.lineCast(myPlayer, myPlayerGround, playerMask)
来执行此操作。
空格键触发跳跃动画(使用触发器参数从运行或空闲传输到跳跃动画,这是我目前使用的唯一两个完美运行的其他动画),就像我点击 y 轴跳跃速度一样。
我想不出重置触发器的可靠方法。如果返回 true,我尝试重置它isGrounded
但随后我假设我得到了误报,因为只有在返回 true 时它才会首先触发isGrounded
?我还尝试通过运行检查来触发动画,以查看isGrounded
是否返回 false,但如果是这种情况,如果我从壁架上掉下来,跳跃动画将播放,以及实际跳跃,这当然没有意义。
我会提出几个条件,包括速度方向和isGrounded状态。要重置跳跃动画,您必须向下移动,并且必须触发 isGrounded。
为了在这种情况下
取得完美的结果,我总是相信代表们。您可以使用委托,例如您的地面将通过消息,如果玩家确实降落。在这里,我给出了完全相同场景的详细实现。看看我的回答。
必须向动画添加条件。
Animator.SetBool("isTouched", isTouched);
设置新值时,动画将进行动画处理。看看这个教程。