gpt4 book ai didi

java - 在运行时/步骤期间创建主体? Libgdx box2d

转载 作者:行者123 更新时间:2023-11-29 03:16:22 24 4
gpt4 key购买 nike

我正在 Eclipse 中使用 libgdx box2d 库开发一款 Android 游戏。但是我遇到了一个问题。我想在移动的球接触静态物体(多边形框)时放下静态物体,该方法在 ContactListener.beginContact() 中调用。

我尝试创建一个具有相同属性的新主体,但主体类型更改为动态主体。但如果我这样做,每次球接触静态物体时我都会得到 NullPointerException。尝试在运动体上 setLinearVelocity(0) 时也会出现 NullPointerException

我该如何实现?

最佳答案

您不能在 World.step 中创建新的主体。那时世界就被锁定了。

ContactListener 回调在 world.step 中。所以如果你想创建一个新的 body ,设置一个像这样的标志:

boolean createnewbody = false;

在你的碰撞回调中:

createnewbody = true;

在你的渲染方法中:

if(createnewbody){

//create the new body code here

createnewbody = false;
}

关于java - 在运行时/步骤期间创建主体? Libgdx box2d,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26331179/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com