我是libgdx和Android游戏开发的新手。所以我需要你的帮助。 我有检测冲突的代码。我使用矩形方法。 如果objectA与objectB重叠,那么我希望objectA被破坏。
这是我现在的代码:
if (objectA.getBounds().overlaps(objectB.getBounds())) {
System.out.println("Collsion Detected!");
}
System.out.println工作正常。 但我不知道如果它重叠,我怎么能“删除”objectA。
由于
答案 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,那就是其他故事......