Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使矛与作为ArrayList一部分的任何*单个*青蛙对象碰撞,并且仅使矛蛙受到影响?_Java_Android_Arraylist_Collision - Fatal编程技术网

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我今天真的找到了解决办法。明天我会把答案贴出来。再次感谢你的慷慨