问题标签 [physics-engine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3375 浏览

xcode - 如何使用box2d使b2body匀速运动

我正在制作一个 box2d 游戏,让敌人从屏幕左侧飞到屏幕右侧。如果我在如下所示的刻度方法中施加力,敌人会随着时间的推移越来越快地移动。我希望敌人以恒定的速度移动,而不是提高他们的速度。我怎样才能做到这一点。我尝试过冲动和力量,但它们似乎并没有保持恒定的速度

0 投票
1 回答
11295 浏览

iphone - 如何在box2d中停止作用在身体上的力

我在 iphone 上使用 box2d 来创建游戏。我有一个受重力影响的身体向下移动而不是向右或向左移动。它会被另一个物体击中,然后向右或向左移动。然后我有一个重置按钮,可以将身体移回起点。唯一的问题是它仍在向右或向左移动。我怎样才能抵消球已经在移动的力?重置游戏时如何摆脱这种左右移动?

0 投票
1 回答
388 浏览

ios - Box2D 实现问题

我正在尝试将 Box2D 放入我的应用程序中。我有来自最新 Cocos2D 版本的 Box2D 文件夹。我将它拖到我的项目中并将其添加到目标组文件夹中,我得到 4 个错误,这是编译器找不到 b2Collision.h、b2BroadPhase.h 和 b2Collision.h 的地方,我知道有 2 个错误碰撞。还有另一个错误,但它来来去去取决于如何实现它。无论如何,以我实现它的方式,我该如何摆脱这些错误?有没有人有任何想法/提示?

谢谢!!!

0 投票
1 回答
3206 浏览

ios - Box2D对特定物体的重力?

我看到每个人都说你在 Box2D 世界中像这样添加重力:

问题是,如果我只想在包含来自 CCSprite 的 userData 的特定 b2Body 上使用重力怎么办?AFAIK 这会将重力应用于世界上我不想要的一切,所以有人可以向我解释如何将这种重力仅应用于特定的 b2Body 吗?

谢谢!

Edit1: 我可以只做这条线吗?

而不是世界 = 新的 b2World... 等等... 这不是只在那个 b2Body 上使用重力吗?

0 投票
1 回答
838 浏览

ios - b2Body 移动时更新 CCSprite 位置?

在我的 Box2d 游戏中,我发现我必须在游戏循环中更新我的 CCSprite 位置才能正常工作。我查看了 Box2D 文档以了解获取 b2Body 坐标的 API,但我什么也没看到,这似乎不清楚。我应该手动移动每个 CCSprite,还是有一种简单的方法可以将屏幕上的所有 CCSprite 移动到与它们关联的 b2Bodys 上?

有谁知道如何做到这一点?

谢谢!

编辑1: 这段代码是否会将我世界中的每个精灵更新为与它们对应的 b2Body ?这将适用于 x 和 y 轴和旋转正确吗?

0 投票
1 回答
10366 浏览

rotation - 如何在子弹物理引擎中对身体应用旋转?

我有旋转值(滚动、俯仰、偏航)。我想将该旋转应用于身体,但我不知道该怎么做。

0 投票
1 回答
1223 浏览

collision-detection - 定义曲线的方法

我试图在我的物理引擎圆度/曲率中给出形状。

我知道在数学上定义曲线的各种方法;例如贝塞尔曲线、椭圆等。但是我不确定哪种方法最适合在我的物理引擎中使用,因为必须考虑每种方法的速度、构造的可行性和灵活性。我想要一个系统,用户可以在其中轻松地形成相当复杂的曲线,但仍然使相交计算简单快速。

我的物理引擎也是纯连续的,这意味着我必须能够根据恒定的线性/角速度计算曲线与其他曲线和直线碰撞的时间。

  • 有哪些技术可以在数学上定义 2D 曲线?

  • 每种方法在速度、灵活性和构造简单性方面的优缺点是什么?

  • 对于形状相交的可预测性至关重要的发动机,该技术是否可行?

0 投票
1 回答
3169 浏览

c# - 2D 物理引擎

是否有任何适用于 .net 平台的物理引擎,而不是现在在 Google 代码上的physics2d.net ?我不需要 XNA 框架的东西,而且我需要一个库来直接在我的 C# 应用程序中使用它。

0 投票
1 回答
655 浏览

android - 如何使用子弹物理游戏和ndk在android设备上开发3d游戏

我的作业是做一个需要物理引擎支持的 3d 游戏。我选择了一个子弹,但是它是用 C++ 编写的,我建议用 ndk 构建我的项目。但是,要运行子弹程序,您需要四个静态库文件:

  • BulletCollision_debug.lib
  • BulletDynamics_debug.lib
  • BulletSoftBody_debug.lib
  • LinearMath_debug.lib

我不知道如何处理 ndk-build 下的这些库。除此之外,我想知道 .lib 和 .a 之间的区别。前者是c++静态库,后者是ndk静态库。你能帮我解开谜题吗?

0 投票
1 回答
3577 浏览

box2d - 将两个 box2D 实体牢固地固定在一起

我正在尝试将两个分开固定距离的 box2d 主体连接在一起。两个实体都不能自己旋转,连接也应该旋转。身体之间的空隙需要让其他身体通过。

我目前有一个 b2revoluteJoint 设置,如下所示:

然而,关节不是完全刚性的,并且身体倾向于相对于彼此移动相当多的位置。有一个更好的方法吗?

我也尝试过 b2WeldJoint 不起作用,因为我认为两个身体都必须重叠......

编辑:

我尝试过的 b2WeldJoint 是:

但是,当我移动一个身体时,另一个身体会保持在原来的位置。