简短介绍:我正在构建一个游戏,怪物在顶部产生,并通过一条路径移动到达需要移除/销毁/删除的点.但我似乎无法删除怪物对象.
for (Monster i : Monstre)
{
this.add(i); //adds monster to JPanel
if(i.monstery > 50 && i.monsterx > 50){ //check if monster have reached end point
this.remove(i); //Should remove Object from the JPanel ?
i = null; //Sets object too null
Monstre.remove(i); //Removes object from arrayList "Monstre".
}else{
//Update the monsters bounds
Run Code Online (Sandbox Code Playgroud)
上面从JPanel中删除了对象,看起来一切都很好.但是当我打电话给System.out.println(Monstre.size());我时会产生越来越多的怪物,并且如果增加怪物产生率,程序开始最终减速,因为Monstre arraylist中的怪物数量超过了9000,并且从未减少.我正在寻找的是一种在游戏运行时删除这些对象的方法.