Box2d抗风

时间:2011-08-13 22:26:28

标签: iphone objective-c cocos2d-iphone box2d

我想用一些风车制作游戏,并希望通过b2vec2重力矢量制作风。我找不到关于风阻的明确解释。 box2d有可能吗?请允许我指出必要的功能和文档。

2 个答案:

答案 0 :(得分:1)

你想要做的事情很可能是使用box2d,因为这将涉及在3d中模拟的物理,而box2d只进行2d物理。如果我是你,我会伪造动画。通过将风车的叶片放在与风车主体不同的CCSprite中,然后使用与风速匹配的CCAnimation围绕z轴旋转叶片。

答案 1 :(得分:1)

适用于游戏

根据游戏情况,您可能不需要担心阻力(风阻力)。你可能会在风吹动的方向上推动物体,使用ApplyForce或者使用重力(如你在问题中提到的那样)。

如果你真的想模拟抗风性

看起来linearDampening可能会有所帮助,虽然不切实际。真正的空气阻力不是线性的。

你也可以在速度相反的每一帧做ApplyForce。不幸的是,自从我参加了我的力学课以来已经有一段时间了,所以我无法帮助你完成代码,但你可以look at this wikipedia article for the formulas

我从这个帖子中偷走了大部分信息:

http://www.box2d.org/forum/viewtopic.php?f=3&t=2718

如果您仍有问题

我在答案中做了一些假设。我假设你正在进行风和空气阻力之类的基本近似。我还假设你并没有真正试图塑造一个推动风扇的气体,因为你可能在2D中没有太多的运气,即使你尝试过,我也无法想象它会为你的游戏增添太多。 / p>

如果您仍然感到困惑,请尝试在问题中添加一些示例代码,或者更详细地描述您要模拟的内容。