【问题标题】:How to click to remove objects from array list in processing如何在处理中单击以从数组列表中删除对象
【发布时间】:2019-01-29 15:36:15
【问题描述】:

我正在尝试创建一个游戏,您可以在其中单击对象以将其删除。下面的代码是我这部分游戏的代码,但它给出了以下错误:

"无法在数组类型 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);
        }
    }
}

我可以使用其他方法/功能在我的游戏中实现这一点吗?

【问题讨论】:

  • 您收到的错误消息清楚地表明您有一个数组,而不是 ArrayList

标签: java arraylist processing


【解决方案1】:

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

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

当然,“yourList”只是您可以选择的名称。就像 Enemy 是我假设您正在使用的课程一样。如果您想要该列表中的一个对象,您还必须使用

yourList.get(i); 

而不是

yourList[i];

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 1970-01-01
    • 2019-04-18
    相关资源
    最近更新 更多