如果对象与另一个对象libgdx重叠,则删除该对象

时间:2014-06-12 16:28:39

标签: android eclipse libgdx collision destroy

我是libgdx和Android游戏开发的新手。所以我需要你的帮助。 我有检测冲突的代码。我使用矩形方法。 如果objectA与objectB重叠,那么我希望objectA被破坏。

这是我现在的代码:

if (objectA.getBounds().overlaps(objectB.getBounds())) {
        System.out.println("Collsion Detected!");
        }

System.out.println工作正常。 但我不知道如果它重叠,我怎么能“删除”objectA。

由于

1 个答案:

答案 0 :(得分:0)

为了删除对象,如果它只是图像(Texture / Sprite等),那么您应该draw方法中不要render()它。例如:

Sprite objectIwantToRemove= new Sprite();
// init your sprite here.....

if (objectA.getBounds().overlaps(objectB.getBounds())) {
    objectIwantToRemove=null; //here i mark it as null, you can remove it from your ArrayList or anything else. Depends how you keeps it.
    }

@Override
public void render(float delta) {
  if(objectIwantToRemove!=null){
    spriteBatch.begin();
    objectIwantToRemove.draw(spriteBatch);
    spriteBatch.end();
  }
}

P.S这是一个非常基本的例子,只是为了让你知道如何删除图像。如果你使用Box2D,那就是其他故事......