Unity 2D跳跃动画C#

时间:2016-01-16 15:03:20

标签: c# unity3d animation 2d sprite

我正在使用激活触发器参数来循环跳转动画:

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

我正在触发跳转动画(使用触发器参数从运行或空闲转移到跳转动画,这是我正在使用的其他两个动画,目前正在使用空格键),同样的方式我点击y轴跳跃速度。

我无法找到一种可靠的方法来重置触发器。如果isGrounded返回true,我尝试重置它,但是我假设我得到了误报,因为它只会在isGrounded返回true时才会触发?我还尝试通过运行检查触发动画来查看isGrounded是否返回false,但如果是这样的话,如果我从窗台上掉下来,以及实际跳跃,那么跳跃动画将会播放没有意义。

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

为了在这种情况下取​​得完美的成绩,我始终相信代表们。如果玩家登陆,你可以通过消息使用代表,例如你的地面。 Here我详细介绍了完全相同的情况。看看我的答案。

答案 2 :(得分:0)

您必须为动画添加条件。

Animator.SetBool("isTouched", isTouched);

设置新值时,动画将会动画。看看this教程。