gpt4 book ai didi

java - 我如何将敌人放入 ArrayList

转载 作者:行者123 更新时间:2023-12-01 04:56:23 24 4
gpt4 key购买 nike

这是我的两个敌人

en = new Enemy(700, 150);
en2 = new Enemy (980, 150);

我想让我的程序包含几个敌人,我只需要重新创建它们并进行单元碰撞

if (d.intersects(r1) && en.visible == true &&
en.isAlive == false && !p.hitting){
hitmang(hit);
p.hitting = true;
}

if (d.intersects(r2) && en.visible == true &&
en.isAlive == false && !p.hitting){
hitmang(hit);
p.hitting = true;
}

if (!d.intersects(r1) && !d.intersects(r2)){
p.hitting = false;
}

我必须用另一个敌人重新创建每个实例吗?

这些是我的敌人以及他们在游戏中的边界

Rectangle r1 = en.getBounds();
Rectangle r2 = en2.getBounds();

(我将它们作为矩形)

public Rectangle getBounds(){
return new Rectangle(x, y, 114, 134);
}

最佳答案

我不太明白你想做什么?

您想将敌人添加到数组中,然后循环遍历它们以检查敌人边界框是否与玩家相交?

public List<Rectangle> enBoundingBoxes = new ArrayList<Rectangle>();

然后将敌人边界框添加到数组列表中。

enBoundingBoxes.add(en.getBounds());
enBoundingBoxes.add(en2.getBounds());

使用 for 循环循环它们:)

for (int i = 0; i < enBoundingBoxes.size(); i++) {
Rectangle tempBBox = enBoundingBoxes.get(i);

if (d.intersects(tempBBox) && en.visible == true && !en.isAlive == false && !p.hitting) {
hitmang(hit);
p.hitting = true;
}
}

etc etc...

这就是你所追求的吗?

祝你好运,希望有帮助:)

编辑:我还没有检查这是否有效,我在浏览器中编写了它......

关于java - 我如何将敌人放入 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14064426/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com