问题标签 [box2d]

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 回答
2160 浏览

c# - Box2D XNA 中的乒乓球

所以我一直在尝试在 Box2D 中重新创建 Pong 来学习如何使用引擎,我认为在其中创建 pong 比我想象的要复杂。我自己有碰撞,我将球恢复设置为 1.0,我唯一的问题是我不知道如何让球击中桨,以正确的角度反弹并有足够的速度到达另一侧。我只是想让它看起来像一个自然的乒乓球游戏。我看过 c++,actionscript 但似乎没有人真正完全实现过乒乓球游戏。

我只需要实现我自己的物理吗?

0 投票
3 回答
3565 浏览

rendering - Box2D:如何手动渲染身体

我成功将 Box2D 安装到我的项目中。但是我怎样才能渲染一个身体呢?假设我正在使用支持绘制多边形的东西。我只想找出身体多边形顶点的当前位置,用引擎绘制它。

如果你能帮助我,我将非常感激。

0 投票
1 回答
1312 浏览

xna - XNA 中的 BOX2D 加速度/速度

我遇到了问题,我尝试了所有可能的组合。我试图让我的球尽可能快地飞出屏幕。唯一的问题是无论我设置什么值,它都会以相同的速度移动。我试着做 ballBody.SetLinearVelocity(new Vector2(1000000f, 0));

ballBody.SetLinearVelocity(new Vector2(10f, 0));

中间的每一个数字,球仍然以相同的速度移动。我到底做错了什么。正文的代码也在下面。我想要的只是让球跑得非常快,就像弹球机一样。

0 投票
2 回答
1323 浏览

android - 在 Box2d 和 Android 中缩放多种分辨率

我正在开发一个在 android 中使用 box2d 引擎的游戏。我通过为 320X480 分辨率定义的 xml 定义来创建物理世界。

现在在 box2d 中,我认为 1 个单位是 30 像素。问题是,除了为每个分辨率定义一个单独的 xml 以针对所有屏幕正确缩放之外,还有其他选择吗?

我试图从显示指标中获取屏幕密度并调整 box2d 使用的比例,但物理世界看起来并不相同。

有人遇到这种情况并解决了吗?

提前致谢。

0 投票
1 回答
883 浏览

c# - BOX2D 接触(isTouching)问题

这是我的问题图片

替代文字

我想检查球是否接触,这很完美。然而,有时带有箭头的球没有被捡起,这当然是有道理的,因为它没有碰到任何东西。但是,我想留一点余地,这样如果一个球在 4 像素/0.001m 之外,它应该被认为是触摸的。那么我将如何实施它。我查看了 isTouching 代码,这就是我能想到的。

我仍然需要测试远处是否有球,我对我能做什么一无所知。

0 投票
1 回答
428 浏览

ipad - uiimageview中用于复合形状的box2d角度旋转

我想使用复合对象和box2D对“U”和“T”等形状的uiimageview应用旋转,因为“U”形状是凹多边形,所以我不能只使用b2polygondef。

这是当用户点击屏幕时制作“u”形框的方法

在这里我有更新 UIImageView 位置和角度的方法

我猜问题是形状的新角度值:在运行世界方法中

或图形的中心:在touches开始方法中:

形状旋转,但它们有时会相互重叠或在视觉接触之前发生碰撞。

我想要做的是“U”形但不相互重叠。有人可以帮我解决这个问题吗?

0 投票
1 回答
1148 浏览

cocos2d-iphone - 将我的身体移动到一个点

我正在使用框 2d。我只是想把我的身体移到重点。做这个的最好方式是什么?

0 投票
4 回答
4436 浏览

c++ - C++ 中的非刚体 2D 物理引擎

我正在尝试在 C++ 中使用 2D 物理引擎。到目前为止,似乎最受欢迎的是 Box2D。不幸的是,Box2D 是一个刚体物理引擎,它并不能真正帮助我实现我想要尝试的东西。

我希望能够定义一个具有多个由弹簧连接的顶点的形状,这样当这个形状与刚性或其他非刚性形状碰撞时,它的形状将是灵活的。

现在我试着想办法在 Box2D 中只使用刚体来做到这一点,但似乎总是有缺陷:

  1. 使用矩形或线段作为柔性形状的外边缘。这些将与其他形状发生碰撞。不幸的是,它们没有弹性,因此不会看到预期的效果。
  2. 形状的每个顶点都可以是具有自己的小圆形形状的主体。然后这些物体可以通过弹簧连接在一起。这在形状变形方面会很有效,但想象一下,如果形状落在刚性尖峰上并且尖峰刚刚在顶点之间通过。然后形状会卡在钉子上。

那么在 C++ 中做这种物理的最好方法是什么?最好不必编写整个物理引擎。也许我只是缺少 Box2D 的一个功能。也许这不是正确的选择。那么什么是正确的选择呢?

0 投票
1 回答
1642 浏览

apache-flex - BOX2D Flash 游戏 Applyforce/Apply Impulse?

我正在尝试使用 Box2D http://www.physicsgames.net/game/Tricharge.html为 Flash 复制这个游戏。我一切都很好,我唯一遇到的问题是当气泡组破裂时,我如何像在游戏中一样应用均匀的速度增加。我尝试过 ApplyForce、ApplyImpulse,但我得到的只是看起来像球爆炸的东西。

0 投票
2 回答
2260 浏览

android - 零重力box2d世界中的递减速度

我正在尝试创建一个围绕 Box2D 中的静态物体运行的动态物体。我有一个零重力世界,一个DistanceJoint连接两个物体的世界。我已经消除了身体和关节的所有摩擦和阻尼,并且正在对动态身体应用初始线速度。结果是物体开始绕轨道运行,但它的速度随着时间的推移而减小——我不希望在没有摩擦的零重力环境中出现这种情况。

难道我做错了什么?是否应该在每一步重新创建线速度,或者我可以将这项工作委托给 Box2D?

以下是相关代码: