问题标签 [jbox2d]

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 投票
1 回答
1170 浏览

java - 用于 Box2d 的 LIBGDX 最新测试平台

我正在使用 Libgdx 测试最新的 Box2d 测试平台。他们似乎没有工作,需要知道其他人是否有同样的问题。第一个叫Conveyor Belt,https://github.com/ansman/box2d/blob/master/Testbed/Tests/ConveyorBelt.h

我转换为:

这是通过将它与其他 Box2D 测试一起工作的,但我注意到了一些事情。

Libgdx 在其 Contact.java 类中没有 setTangentSpeed 方法

设置必须使用 org.jbox2d.common 导入

测试无法解析为类型

我也尝试使用 Breakable,https://github.com/ansman/box2d/blob/master/Testbed/Tests/Breakable.h

哪个被转换为

我注意到:

Libgdx 在 Manifold.java 中没有 pointCount。一个快速解决方法是更改​​为 getWorldManifold 但没有任何好处

Vector2.java 不包含 crs(float x, Vector2 v),m_velocity 的向量不允许

设置不存在,除非我使用 com.jbox2d.common 导入

如果不包括这些方法,我如何让这些在 Libgdx 中工作?Libgdx 不再更新了吗?我想使用这些,但它们似乎落后于移植。我什至在 Contact.java 中注意到他在 setTangentSpeed 的代码之前停止了。我在测试中添加了 gwt jar,但没有任何好处。

0 投票
1 回答
1769 浏览

box2d - box2d重力播放器下落速度更快

我正在使用 box2d 为移动设备开发游戏。我通过这些代码创建了一个世界:

它工作得很好。我有播放器对象。播放器像这样摔倒:

y轴:0、10、30、70..等。我的意思是它每秒钟下降得更快。但我希望它以相同的速度下降。比如:y轴:0、10、20、30..等

0 投票
1 回答
514 浏览

java - 如何使用 Java 显示/可视化 JBox2D 世界

我按照 FlashDevelop 教程编写了一个 JBox2D 应用程序。从命令行来看,一切似乎都运行良好,我现在的问题是如何在 JFrame 或其他可视化方法中显示世界。我尝试了 DebugDraw,但完全迷失了。提前致谢。

0 投票
2 回答
397 浏览

box2d - libgdx/jBox2d 在碰撞时添加幻体?

我是第一次使用 libgdx 和 jBox2D(虽然我之前在其他环境中使用过 Box2D)。

我创建了一个大的动态物体,和两个较小的静态物体让它着陆。我的身体似乎从来没有接触过。相反,似乎系统在我的身体之间创造了非常小的身体……我不知道为什么!

下图的上半部分显示了正在进行的碰撞(右侧)和即将发生的碰撞(左侧,未着色的形状)。

下图的下半部分是几步之后。大的阴影形状围绕第一个碰撞点旋转并与未着色的形状“碰撞”。

在每次碰撞的位置都有一个小红点,似乎阻止了形状的接触。我已经在多个尺度上尝试过,结果是相似的。我试过谷歌搜索并在这个网站上搜索有同样问题但没有运气的人。

jBox2D行为不端的图片

0 投票
1 回答
2898 浏览

java - 处理 / box2d - 使用 setTransform() 设置对象的位置未按预期工作

我正在使用处理和 box2d 制作 2d 游戏。在我的游戏中,我有一个对象targetBoxBox. 在游戏开始时targetBox出现并停留在跷跷板上。游戏的目标是使用弹弓在跷跷板上发射其他盒子并将其发射targetBox到窗台上。如果玩家错过了窗台,盒子将降落在一个区域,99% 的时间都不会是跷跷板。

我正在尝试实现允许玩家通过按“r”或“R”将盒子重置到其原始位置(在跷跷板上)的功能。

targetBox最初在函数中添加到 box2d 世界中draw()targetBox.display(true);

如果按下“r”或“R”...

...调用类的重置功能Box

在游戏中,当“r”或“R”被按下时,targetBox会消失并且不会回到原来的位置。我对处理或box2d不太熟悉。有谁知道为什么会这样?帮助表示赞赏。

编辑- 添加更多代码:

0 投票
1 回答
457 浏览

box2d - 逼真的 jumping box2d - 变量配置

我仍在研究我的 Jump 'n' Run 并且已经解决了“我可以跳跃”的问题。

我现在的问题是,我应该如何配置GravityTimestepsFixturesize应用的 ImpulseFixturedensity以获得最真实的结果?
Fixturesize 现在是 230x140 并且无法更改,因为我需要 pixelexact 大小进行调试。可以改变的是:

重力(10),

时间步长( Deltatime *4);

应用脉冲(1000000);

夹具密度( 0,002);

为什么我需要 1 (!) 百万的脉冲来移动当前 65 公斤的质量?

0 投票
2 回答
13698 浏览

android - 如何从 Android 相机中找到框架的轮廓并将其转换为 box2d 主体?

使用 OpenFrameworks、OpenCV 和 Box2D,我能够以良好的帧速率实现它。使用 Android 似乎是一项复杂得多的任务(部分原因是我是 JAVA 新手)。

我是这样开始的:

  1. 使用“OpenCV 示例 - 图像操作”并删除除“canny”效果之外的所有内容,该效果会生成漂亮的黑白图像,非常适合查找轮廓。

    /li>
  2. 从“OpenCV Sample - color-blob-detection”中,我抓住了在 Mat 中找到轮廓的逻辑:

    所以,我当前的功能看起来像这样,它不起作用:

    /li>
  3. 现在,这就是我卡住的地方。我不断收到异常,我认为我没有使用正确的尺寸或将 Mat 转换为正确的色彩空间。这篇文章有一些见解,但我不知道它是否正确:Android findContours 上的 OpenCV throws Exception

0 投票
2 回答
1095 浏览

box2d - 将 JBox2D 库导入新项目

我想将 JBox2D 库导入一个新项目,我不熟悉使用外部库,所以我的怀疑看起来真的很愚蠢,但是哦,这就是你学习的方式。

所以我有点遵循 JBox2D 网站上的教程,我做到了这一点:

在此处输入图像描述

你可以看到我有 JBox2D 主干(我不太明白什么是主干......)我相信它们都是 Maven 项目,我的目标是能够在你可以看到打开的 PhysicTest 项目中使用引擎的库。

(可能是愚蠢的)我试图导入你在图像中看到的并且它不起作用,所以我请求你的帮助来解决一个对我来说并不那么简单的简单问题^^

感谢您的时间

0 投票
1 回答
100 浏览

box2d - 将外部物理引擎库添加到 Java 中的新项目 (JBox2D)

我想将 JBox2D 库导入一个新项目,我不熟悉使用外部库,所以我的怀疑看起来真的很愚蠢,但是哦,这就是你学习的方式。

所以我有点遵循 JBox2D 网站上的教程,我做到了这一点:

在此处输入图像描述

你可以看到我有 JBox2D 主干(我不太明白什么是主干......)我相信它们都是 Maven 项目,我的目标是能够在你可以看到打开的 PhysicTest 项目中使用引擎的库。

(可能是愚蠢的)我试图导入你在图像中看到的并且它不起作用,所以我请求你帮助解决一个对我来说并不那么简单的简单问题^^

0 投票
2 回答
96 浏览

cocos2d-iphone - 在形状上找到接触点

在 Box2D 项目中,我需要在用户双击的确切点处的两个 PolygonShaped 主体之间创建一个 RevoluteJoint。

我有接触点,以及两个形状中每一个的顶点列表(显然设置为不相互碰撞。)如果我理解正确,接触点是世界位置,顶点正在描述形状,它可以存在于任何世界。但是我如何从一个“翻译”到另一个?

例如,用户在 (3.63,5.07) 处双击。

形状1的顶点为:[(0.37485206,-0.17777264),(-0.2880008,-0.033603553),(-0.1609711,-0.2395713) 0.29765773)]

形状 2 的顶点:[(-0.015462875,0.24353802), (-0.13529873,0.31698608), (-0.36852637,0.4127499), (-0.4136281,0.17009032), (-0.2880008,-0.03)]

revoluteJoint:

任何帮助将不胜感激。

编辑:

我取得了一些进展,但仍然没有。我现在正在做的是根据形状的顶点找到一个“平均”位置。我取第一个条目,并且知道顶点逆时针计算哪个是中间顶点,并假设它离第一个顶点最远。所以我对两者进行平均,并将关节设置在那里。

这是代码:

以及关节的本地锚点:

我对关节的第二个身体做同样的事情。这找到了相当不错的接近度,但它并不完美,尤其是在形状较大的情况下。

知道如何更接近实际接触点吗?我需要的是 shape.getTouchedPoint() 之类的东西,但 API 似乎没有提供它。