java - 在LibGDX中,在程序运行时更改夹具定义

标签 java libgdx box2d

我目前正在 LibGDX 中为我的新游戏使用 Box2D 引擎。 有没有办法在程序运行时更改夹具定义的设置?

乌布林克尔

最佳答案

FixtureDef 只是为物理体创建 Fixture 的原型(prototype),我认为您想在运行时更改主体的夹具。

是的,你可以,假设我想改变已经创建的 body 的密度。

Array<Fixture> fixtures=body.getFixtureList();
for (Fixture fixture:fixtures)
    fixture.setDensity(2);

然后您需要调用body.resetMassData();来应用更改。

还有一个选项,您可以销毁主体的固定装置并使用不同的配置重新创建。

关于java - 在LibGDX中,在程序运行时更改夹具定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43620978/

相关文章:

java - 在 ValueAnimator 中使用 Float 值会导致异常

java - 对于插入的 123,NUMERIC(5,2) 应该返回 123 还是 123.00?

libgdx - 输入处理器空指针异常

ios - Contre Jour 中的弹性触手等图形效果

java - 使用java将文件复制到windows 7的system32中

java - 有什么方法可以让 Eclipse 始终使用常见的 VM args 来运行 JUnit 测试?

java - LibGDX 混淆器

android - Libgdx - 使用 MipMaps

java - libGDX:Box2D 速度没有增加足够

ios - 防止与 b2ContactListener 发生一次碰撞而产生多个回调?