我正在尝试制作一个空间入侵者类型的游戏,使用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;
}发布于 2017-03-25 23:48:43
乔治的评论完全正确。
我只想补充一点,你应该养成breaking your problem down into smaller steps的习惯,一次只做一个步骤。
例如,我会先创建一个单独的示例草图,它只显示一个矩形。现在,只要鼠标在矩形内,矩形就会改变颜色。在继续之前,让它完美地工作。然后让它变成一个跳动的圆圈,而不是鼠标的位置--只要圆圈在矩形内,就改变矩形的颜色。
当你有完美的工作,然后移动到一个二维矩形阵列。让它完美地工作,那么切换到图像而不是矩形应该很容易。
在小步骤中工作,并孤立地工作,而不用担心项目的其余部分。如果你被卡住了,你可以发布一个特定步骤的MCVE,我们可以从那里开始。祝好运。
https://stackoverflow.com/questions/42997452
复制相似问题