Java 动态物体跳出水面物体

Java 动态物体跳出水面物体,java,android,libgdx,box2d,Java,Android,Libgdx,Box2d,在我的游戏中,我的主要目标是一架喷气式飞机,当触摸屏幕时,它会潜入水中。我设法用Box2d和一些浮力对jetski潜水机进行了编码。但是当jetski在水下时,它只是上升到水面并停留在那里。肖特:捷茨基没有跳跃。我想在jetski号在水面上的时候尽快施加力。问题是,不管jetski有多深,力都是恒定的(jetski越深,它上升和跳出的速度就越快)。 还有别的方法吗? 这正是我想要的:从我从你的评论中收集的新信息来看,我想你在编写这个示例时遇到了麻烦 你的身体总是在水面上冲浪 如果你按下一个特定的

在我的游戏中,我的主要目标是一架喷气式飞机,当触摸屏幕时,它会潜入水中。我设法用Box2d和一些浮力对jetski潜水机进行了编码。但是当jetski在水下时,它只是上升到水面并停留在那里。肖特:捷茨基没有跳跃。我想在jetski号在水面上的时候尽快施加力。问题是,不管jetski有多深,力都是恒定的(jetski越深,它上升和跳出的速度就越快)。 还有别的方法吗?
这正是我想要的:

从我从你的评论中收集的新信息来看,我想你在编写这个示例时遇到了麻烦

  • 你的身体总是在水面上冲浪
  • 如果你按下一个特定的按钮,你的身体应该向下俯冲
  • 当你按住这个按钮时,永远保持深度
  • 如果释放按钮:将Linearvelocity设置为X
  • 如果到达空中,根据深度施加一次Linearvelocity力
  • 如何实现这一点取决于您

    正如我从您上传到youtube的视频中看到的,您可能在以下位置遇到问题:
    4:
    因为我看不到你给我们的任何代码,我推测你在每一步都应用线速度,直到你到达空中(这会导致大量的线速度=像传送一样的运动)
    或者将身体变换为给定的坐标

    我能想到的最简单的想法是,将linearVelocity设置为给定的量(尝试并出错,直到你满意为止),因为如果你不潜得更深,你马上就会有最大的上升速度,直到你到达空中,在这个确切的点(5)
    你施加一个力。

    问题是,它会导致一种心灵传送运动。。。有可能加速身体吗?为什么要传送?如果它不快,就不应该传送。。如果一架喷气式飞机从水里出来,它不会以全速移动更长的时间,只是以一点速度。。。比如10/100。。然后,真正的物理必须应用。喜欢在水上跳跃。我猜你在APPLLYLINEAMPULSE方面有一些问题(可能是经常被打电话/给大部队)我编辑了答案,希望这对你有更多帮助。如果您提供任何代码,我们可能会更准确地帮助您。我的项目位于Github:。。。因为我对所有这些编程东西都不熟悉,所以可能会有点混乱。。。我在core/src/com/joelbrun/jetskirider/screens/Gamescreen.java中对jetski进行了编码,我可以猜到:您的浮力控制器是一个教程,可能是完全复制的?你是否从教程中完成你的项目??我就是搞不懂,你在哪里说“按下按钮”之类的话。。您在哪里进行输入处理?