我正在尝试为我的朋友和我正在开发的游戏制作一种维护方法,该方法基本上检查子弹是否超出设定的边界,然后将其从一个 ArrayList(活动)移动到另一个(死)。
我们有许多 ArrayList,包含从 Bullet_Enemy 类扩展而来的不同类型的子弹。
维护类如下(使用Java):
public void maintenance(ArrayList<? extends Bullet_Enemy> aliveList, ArrayList<? extends Bullet_Enemy> deadList)
{ for(i = 0; i < aliveList.size(); i++)
{ if(aliveList.get(i).[Position] [is] [outside Boundary])
{ deadList.add(aliveList.get(i));
aliveList.get(i).reset();
aliveList.remove(i);
}
}
}
我遇到的问题是在“deadList.add(aliveList.get(i));”行 告诉我有一个错误:
"The method add(capture#33-of ? extends Bullet_Enemy) in the type ArrayList<capture#33-of ? extends Bullet_Enemy> is not applicable for the arguments (capture#34-of ? extends Bullet_Enemy)"
我不确定从哪里开始解决这个问题 - 即使在谷歌上搜索什么术语也会有所帮助,就像有人解释为什么会发生这个问题一样。
谢谢!