我试图使用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;
}
答案 0 :(得分:0)
乔治的评论完全正确。
我只是补充一点,你应该养成breaking your problem down into smaller steps的习惯并一次一个地接受这些步骤。
例如,我首先创建一个单独的示例草图,它只显示一个矩形。现在,只要鼠标在里面,矩形就会变色。在继续前进之前要完美地工作。然后这样做而不是鼠标位置,它是一个弹跳圆圈 - 只要圆圈在矩形内,就改变矩形的颜色。
当你完美地工作时,然后转到2D矩形矩阵。要完美地工作,那么切换到图像而不是矩形应该很容易。
以小步骤工作,孤立地处理它们,而不必担心项目的其余部分。然后,如果您遇到困难,您可以发布MCVE该特定步骤,我们可以从那里开始。祝你好运。