动态的身体跳出水对象

时间:2015-08-29 14:06:58

标签: java android libgdx box2d

在我的游戏中,我有一个主要物体,一个水上摩托艇,当触摸屏幕时,它会潜入水中。我设法使用Box2d和一些浮力来编码jetski潜水。但是当水上摩托艇在水下时,它只会升到水面并停留在那里。简而言之:水上摩托艇不会跳跃。我想尽快施力,因为水上摩托艇就在表面上。它的问题是力量将是一个恒定的力量,忽略了jetski的深度(jetski越深,它应该越快上升和跳出)。 有没有其他方法这样做? 这就是我想要的东西:https://www.youtube.com/watch?v=b2t_zMOy5SM

1 个答案:

答案 0 :(得分:1)

根据我从你的评论中收集到的新信息,我猜你在编写这个例子时遇到了麻烦......

  1. 你的身体总是在水上冲浪。
  2. 如果您按下给定的按钮,您的身体应该潜入
  3. 按住此按钮时始终保存深度
  4. 如果您释放按钮:setLinearVelocity to X
  5. 如果您到达大气层,请根据您的深度应用一次linearVelocityForce。
  6. 如何实现这一点取决于你。

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

    我能想到的最简单的想法是将linearVelocity设置为给定的数量(尝试和错误,直到你感到高兴)因为,如果你不深入,你会立即获得最大的上升速度,直到你到达空中,在这个确切的位置(5) 你施加武力。