在处理中如何单击以从数组列表中删除对象

时间:2019-01-29 15:36:16

标签: java arraylist processing

我正在尝试创建一个游戏,在其中单击对象将其删除。下面的代码是我在游戏本节中所拥有的代码,但它给出以下错误:

  

“无法在数组类型mouseClick.Enemy []上调用remove(int)”

这是我的代码:

void mousePressed() {
    for(int i = 0; i < enemies.length; i++){
        float distance = dist(mouseX, mouseY, enemies[i].x, enemies[i].y); 

        if(distance < enemies[i].radius + 10) {
            enemies.remove(i);
        }
    }
}

我还可以使用其他方法/功能来实现此功能吗?

1 个答案:

答案 0 :(得分:2)

正如天青蛙所说: remove函数不能在数组上使用。但是,您可以将该函数与arrayLists一起使用。您可以像这样创建一个新的ArrayList:

ArrayList<Enemy> yourList = new ArrayList<Enemy>();

当然,“ yourList”只是您可以选择的名称。就像敌人是我假设您正在使用的班级一样。如果您要从该列表中删除对象,则还必须使用

yourList.get(i); 

代替

yourList[i];

希望这会有所帮助!