How to combine Box2d bodies?(如何组合 Box2d 实体?)
问题描述
我有一个不只是一个盒子或圆形的纹理,我的身体需要与这个形状相同,所以我想组合多个身体来达到我想要的形状,这有可能吗?或者有更好的方法吗?我正在使用带有 libgdx 框架的 java.
I have a texture which is not just a box or circle and my body needs to be the same of this shape so I was thinking to combine multiple bodies to achieve my desired shape, is it even possible? or there are better ways to do it? I'm using java with libgdx framework.
推荐答案
body的形状由Fixture 实例.由于 body 可以有多个固定装置,因此您可以根据需要组合多种形状.
The shape of body is being defined by Fixture instance. Since body can have multiple fixtures you can combine many shapes as you wish.
要创建许多夹具,您可以与其他人多次调用 createFixture 方法 FixtureDef 对象,如
To create many fixtures you jest call createFixture method many times with others FixtureDef objects like
FixtureDef fd1 = new FixtureDef();
FixtureDef fd2 = new FixtureDef();
...
fd1.shape = shape1;
fd2.shape = shape2;
...
body.createFixture(fd1);
body.createFixture(fd1);
虽然请注意 Box2D 通过提供 physics/box2d/ChainShape.html" rel="nofollow">ChainShape 可以让你创建任何你想要的形状
Although please notice that Box2D supports more than circles and rectangles by providing ChainShape that allows you to create any shape you want
ChainShape weird = new ChainShape();
weird.createLoop( new float[]{vertice1x, vertice1y, vertice2x, ...});
要加入机构,有 Joint(看看 这里) 机制,但我想这不是你想要的
To join bodies there is Joint (take a look here) mechanism but I guess it's not what you want here
这篇关于如何组合 Box2d 实体?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何组合 Box2d 实体?


- GC_FOR_ALLOC 是否更“严重"?在调查内存使用情况时? 2022-01-01
- Eclipse 的最佳 XML 编辑器 2022-01-01
- java.lang.IllegalStateException:Bean 名称“类别"的 BindingResult 和普通目标对象都不能用作请求属性 2022-01-01
- 将 Java Swing 桌面应用程序国际化的最佳实践是什么? 2022-01-01
- 转换 ldap 日期 2022-01-01
- 获取数字的最后一位 2022-01-01
- 如何使 JFrame 背景和 JPanel 透明且仅显示图像 2022-01-01
- 如何指定 CORS 的响应标头? 2022-01-01
- 未找到/usr/local/lib 中的库 2022-01-01
- 在 Java 中,如何将 String 转换为 char 或将 char 转换 2022-01-01