【问题标题】:Unity 2D Jump Animation C#Unity 2D 跳转动画 C#
【发布时间】:2016-01-16 15:03:20
【问题描述】:

我目前正在激活一个触发参数来循环跳跃动画:

isGrounded 是我的'is player grounded bool',我用它来确定我的玩家是否被允许跳跃。我正在使用一个子播放器对象并使用Physics2D.lineCast(myPlayer, myPlayerGround, playerMask) 这样做。

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

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

【问题讨论】:

    标签: c# unity3d animation 2d sprite


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      为了在这种情况下取​​得完美的结果,我始终信任代表。如果玩家确实登陆,您可以通过消息使用委托,例如您的地面意愿。 Here我给出了完全相同场景的详细实现。看看我那里的答案。

      【讨论】:

        【解决方案3】:

        您必须为动画添加条件。

        Animator.SetBool("isTouched", isTouched);
        

        当您设置新值时,您的动画将被动画化。看看this教程。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-11-03
          • 1970-01-01
          • 2020-09-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-04-27
          相关资源
          最近更新 更多