C# 在简单的仪表板/滑动机械C单元2D中编码
我正在尝试实现一个类似于Megaman或最近的Hollow Knight的简单破折号,用户输入一个按钮,按钮被向前推,无法取消 我有一些简单的工作现在,但它只是传送球员,我正在寻找一个流体运动前进。我尝试了youtube教程和多个在线搜索,但似乎找不到任何有效的方法 这是到目前为止我的代码C# 在简单的仪表板/滑动机械C单元2D中编码,c#,unity3d,C#,Unity3d,我正在尝试实现一个类似于Megaman或最近的Hollow Knight的简单破折号,用户输入一个按钮,按钮被向前推,无法取消 我有一些简单的工作现在,但它只是传送球员,我正在寻找一个流体运动前进。我尝试了youtube教程和多个在线搜索,但似乎找不到任何有效的方法 这是到目前为止我的代码 if (Input.GetKeyDown (KeyCode.G) && isSliding == false) { slideCount += Time.deltaTi
if (Input.GetKeyDown (KeyCode.G) && isSliding == false) {
slideCount += Time.deltaTime;
isSliding = true;
if (slideCount < maxSlideCount) {
rb2d.AddRelativeForce (Vector2.right * 100f);
}
else
slideCount = 0;
isSliding = false;
}
你的角色的刚体会有巨大的重量、摩擦力或阻尼力吗?如果你正在建造一个新的建筑,这是很常见的。你可能会看到这一点,因为它是被迫正确的,并立即停止,因为反作用力是巨大的,所以它看起来像隐形传态。AddRelativeForce调用看起来正确。角色站在什么位置?如果你把它改成上方向向量,你看到角色离开地面了吗?这就是他们目前所站的位置如果我把GetKeyDown改成GetKey,它会按照我想要的方式工作,但它会持续产生力量,当它碰到maxSlideCount时不会停止,但是我想让它像一个一键=完整的破折号,而不仅仅是一个恒定的力,你需要指定ForceMode.pulse作为力的第二个参数,那么类似这样的东西呢?如果slideCount