在Processing中对2D阵列进行命中检测

时间:2017-03-24 10:45:16

标签: processing

我试图使用2D数组中的图像制作太空入侵者类型的游戏。我试图在击中2D阵列中的一个图像时创建防御者的子弹所需的命中检测。图像没有一种颜色穿过正面,因此无法使用颜色检测。我的想法是使用嵌套循环检查项目符号和数组的x和y坐标。

boolean isHit(){
   for(int i=0; i<2; i++){
     for(int j=0; j<4; j++){
       if(invArray[j][i].x==x && invArray[j][i].y==y){
         return true;
       }
     }
   }
   return false;
  }

1 个答案:

答案 0 :(得分:0)

乔治的评论完全正确。

我只是补充一点,你应该养成breaking your problem down into smaller steps的习惯并一次一个地接受这些步骤。

例如,我首先创建一个单独的示例草图,它只显示一个矩形。现在,只要鼠标在里面,矩形就会变色。在继续前进之前要完美地工作。然后这样做而不是鼠标位置,它是一个弹跳圆圈 - 只要圆圈在矩形内,就改变矩形的颜色。

当你完美地工作时,然后转到2D矩形矩阵。要完美地工作,那么切换到图像而不是矩形应该很容易。

以小步骤工作,孤立地处理它们,而不必担心项目的其余部分。然后,如果您遇到困难,您可以发布MCVE该特定步骤,我们可以从那里开始。祝你好运。