【问题标题】:How can I remove in LibGDX bodys?如何在 LibGDX 正文中删除?
【发布时间】:2017-06-04 12:52:22
【问题描述】:

我无法在 LibGDX 中销毁任何尸体。我已经尝试了一切,但我不明白。谁能举个例子?

向 Timux 致敬

所以这是我尝试删除 body 对象的代码。

public class ObjectSpawner extends Timer {


public ObjectSpawner() {
    scheduleTask(new Task() {
        @Override
        public void run() {
            Objecte objecte = new Objecte(world);
            objecte.getBody().applyForceToCenter((float) (200 + Math.random() * 300), 0, true);
            worldController.objectArray.add(objecte);

            for (Iterator<Body> iter = world.getBodies(); iter.hasNext();) {
                Body body = iter.next();
                if(body!=null) {
                    world.destroyBody(body);
                    body.setUserData(null);
                    }
                }

            for(Objecte o : worldController.objectArray) {
                if(o.getBody().getPosition().y < camera.position.y) {
                    worldController.deleteBody(o.getBody());
                }
            }
        }
    }, 0, 0.5f);
  }
}

在 Internet 上,我看到我可以使用迭代器。

Iterator&lt;Body&gt; iter = world.getBodies()

但 Android Studio 将其标记为红色,因为迭代器需要一个数组,而“world.getBodies()”显然是一个空。

【问题讨论】:

  • 你尝试了什么,显示你的代码?

标签: java android linux libgdx box2d


【解决方案1】:

LibGDX 身体?从box2d 标签看来,你想破坏 box2d 身体。

World world=new World(new Vector2(0,-9.8f),true);

BodyDef bodyDef=new BodyDef();
bodyDef.position.set(100,100);
bodyDef.type= BodyDef.BodyType.DynamicBody;

Body body =world.createBody(bodyDef);    // body created

PolygonShape polygonShape=new PolygonShape();
polygonShape.setAsBox(2,2);
body.createFixture(polygonShape,1);

world.destroyBody(body);   // body destroyed 

编辑

getBodies() 需要Body 在参数中输入Array,因此创建并传递。

Array<Body> bodies=new Array<Body>();

world.getBodies(bodies);

for (Body body: bodies){
     world.destroyBody(body);
}

【讨论】:

  • 好吧 irgendwie habe ich es jetzt doch hinbekommen。 Warum auch immer。谢谢。
猜你喜欢
  • 1970-01-01
  • 2018-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多