【发布时间】:2020-12-04 20:22:50
【问题描述】:
这是我正在制作的太空入侵者游戏。这段代码处理与物品和射手的碰撞。在游戏开始时,射手最多可以射击 3 次,当射手收集物品时,最多可以射击 10 次,持续 3 秒。我尝试使用 for 循环,但它永远不会恢复到最大大小 3
没有for循环
//items vs shooter
var removeItems = new ArrayList<>();
for(var blocks: shooter.getComponents()){
for(var i: items){
if(blocks.collideWith(i)){
removeItems.add(i);
shooter.setMAX_BULLETS(10);
}
}
}
items.removeAll(removeItems);
带有for循环
var removeItems = new ArrayList<>();
for(var blocks: shooter.getComponents()){
for(var i: items){
if(blocks.collideWith(i)){
removeItems.add(i);
for(int j =0; j<3;j++){
shooter.setMAX_BULLETS(10);
}
}
}
}
items.removeAll(removeItems);
【问题讨论】: