Java 如何使矛与作为ArrayList一部分的任何*单个*青蛙对象碰撞,并且仅使矛蛙受到影响?
用户正在控制屏幕上的矛对矛青蛙。矛和青蛙物体有相应的矩形,青蛙也有相应的矩形。我很难做到这样,如果矛与其中一只青蛙相互作用,只有那只青蛙受到影响。为了回答这些问题,让我们假设屏幕上有三只青蛙,而长矛是长矛阵列列表中的第一只Java 如何使矛与作为ArrayList一部分的任何*单个*青蛙对象碰撞,并且仅使矛蛙受到影响?,java,android,arraylist,collision,Java,Android,Arraylist,Collision,用户正在控制屏幕上的矛对矛青蛙。矛和青蛙物体有相应的矩形,青蛙也有相应的矩形。我很难做到这样,如果矛与其中一只青蛙相互作用,只有那只青蛙受到影响。为了回答这些问题,让我们假设屏幕上有三只青蛙,而长矛是长矛阵列列表中的第一只 for (int i = 0; i < frogs.size(); i++) { if(Rect.intersects(frogs.get(i).getRect(), spears.get(i).getHandleRect()) &&
for (int i = 0; i < frogs.size(); i++) {
if(Rect.intersects(frogs.get(i).getRect(), spears.get(i).getHandleRect())
&& !frogs.get(i).isTapped) {
frog.get(i).speared = true;
}
}
for(int i=0;i
如果我这样做,那么矛只能刺青蛙,这也是青蛙数组列表的第一个元素。如果我对每个环使用一个(青蛙:青蛙),用矛刺一只青蛙会使它们都“用矛刺”。也许有一个我不熟悉的简单命令
如果你有任何问题,请不要犹豫
编辑:
for(int i = 0; i < frogNumber;i++) {
Frog b = new Frog(randX, i * 2 + 800, FROG_WIDTH, FROG_HEIGHT);
frogs.add(b);
} //frog initialization
for(int i=0;i
您的if语句是否返回?删除//代码中没有相关内容?您的解决方案有什么问题?每只青蛙都有相应的矛。。。如果一个被点击,只有一个被砍了,其他的都没问题,对吧?frogs.get(i).kill()应该适用于一个,对吗?从我的所见所闻来看,这似乎很好。。。但是对于每一种情况来说都应该是好的mh你说矛是矛的数组列表中的第一个,但是你写了Spears.get(i).getHandleRect()
,是不是Spears.get(0).getHandleRect()
?@Danielson我今天真的找到了解决办法。明天我会把答案贴出来。再次感谢你的慷慨