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 (8) 网络启动 : avoiding security popups

android - Google Play 游戏服务和 libGDX "SignInActivity must be started with startActivityForResult"

java - 移动表中的小部件(拥有滚动 Pane )后,Libgdx Scrollpane 滚动不够

box2d - 如何根据角色行走/站立的坡度平滑地旋转角色?

java - 无法弄清楚如何以正确的顺序打印列表

java - 将数组拆分为 X 长度的片段

java - 第一次访问页面时出现空白窗口

java - 使用 Polygonshape 创建夹具时 Box2D 抛出错误

java - BOX2D - 与 Monster 的正确碰撞

java - 在 Box2D 对象上分配纹理