【问题标题】:Buoyancy with Box2D on iPhoneiPhone 上 Box2D 的浮力
【发布时间】:2011-04-16 15:46:38
【问题描述】:

我想知道是否有人可以指点我如何在 iphone 上使用 Box2D 实现以下目标:

1) 我有一个正常重力为 -9.8 的 Box2D 世界 2) 屏幕的下半部分是一片水体

所以当我的精灵碰到水体时,我希望他做出浮力反应(类似于此视频中发生的情况:http://www.youtube.com/watch?v=0uX-1GXYIss

是实现这一目标的最佳方式

1) 简单计算主角精灵的y位置,然后相应地切换重力变量

或 2) Box2D 中是否内置了一个特定功能,可以让我将“水”精灵设置为在我的世界中表现得像水,并“推动”我的主角精灵(同时仍然尊重 9.8 的世界重力) )

任何信息将不胜感激

【问题讨论】:

    标签: iphone cocos2d-iphone box2d


    【解决方案1】:

    buoyant force 等于流体的密度乘以被排出的流体的体积(即排出的流体的质量)乘以重力加速度。然而,计算排出的流体体积可能很昂贵。我建议根据物体的大小以及它在液体中的浸没程度来简单估计位移的体积。

    流体中另一个非常重要的力是drag 力。这就是使物体在稠密流体中高速移动变得更加困难的原因。阻力可以很容易地通过简单地通过某个常数值对速度进行阻尼来估算:Force_drag = -b * v 其中b 是您的阻尼值,v 是对象的速度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-12
      • 2021-11-04
      • 2011-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多