当对象与我的鸟碰撞时,我想移除它们,但我做不到,但我不知道为什么不能。
这是我的代码:
if (Intersector.overlaps(this.birdCircle, this.enemyRectangle[i]) || Intersector.overlaps(this.birdCircle, this.enemyRectangle2[i]) || Intersector.overlaps(this.birdCircle, this.enemyRectangle3[i]) || Intersector.overlaps(this.birdCircle, this.enemyRectangle4[i]) || this.gameTime == 0.0F) {
// this.gameState = 2;
}
我怎样才能清除敌人。(也是enemyRectangle[i] = altEngel
(altEngel
是纹理,并且它们不在ArrayList
中。
如果您想删除libgdx中的某些内容,请使用dispose()
方法(如果有(。您可以将没有dispose()
方法的东西设置为null,去掉引用,垃圾收集器就会去掉它们。
Libgdx为此有一个特殊的类-DelayedRemovalArray<>
它的工作原理类似于ArrayList:
DelayedRemovalArray<> array;
碰撞后,您可以删除您的对象:
array.removeIndex(i);
如果你想详细回答,请写更多信息