我正在尝试创建一个游戏,在其中单击对象将其删除。下面的代码是我在游戏本节中所拥有的代码,但它给出以下错误:
“无法在数组类型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);
}
}
}
我还可以使用其他方法/功能来实现此功能吗?
答案 0 :(得分:2)
正如天青蛙所说: remove函数不能在数组上使用。但是,您可以将该函数与arrayLists一起使用。您可以像这样创建一个新的ArrayList:
ArrayList<Enemy> yourList = new ArrayList<Enemy>();
当然,“ yourList”只是您可以选择的名称。就像敌人是我假设您正在使用的班级一样。如果您要从该列表中删除对象,则还必须使用
yourList.get(i);
代替
yourList[i];
希望这会有所帮助!