首先,感谢您单击此 :) 我是一名业余学生编码器,我正在创建一个(可怕的)Pacman 版本。我正在尝试为我的 1000x650 小程序屏幕上的每个点创建矩形,因此我可以创建一个 if 语句,当 Packages hit box 触及它们时,它们就会消失。
我的问题是,我想创建一个类,这样我就可以轻松地创建矩形并且只有 1 个 if 语句,而不是每个点矩形一个(试图学习高效:P)
如果我没有详细说明,我会谨慎地根据您的回复进行编辑,谢谢!!!
(编辑 1:修正了对句子 xD 的运行)
首先,感谢您单击此 :) 我是一名业余学生编码器,我正在创建一个(可怕的)Pacman 版本。我正在尝试为我的 1000x650 小程序屏幕上的每个点创建矩形,因此我可以创建一个 if 语句,当 Packages hit box 触及它们时,它们就会消失。
我的问题是,我想创建一个类,这样我就可以轻松地创建矩形并且只有 1 个 if 语句,而不是每个点矩形一个(试图学习高效:P)
如果我没有详细说明,我会谨慎地根据您的回复进行编辑,谢谢!!!
(编辑 1:修正了对句子 xD 的运行)
如果您需要在 X 和 Y(矩阵)上填充矩形,您很可能需要嵌套循环。假设您想要一个 5 * 5 的矩形,宽度每 100 像素,高度为 50 像素:
for(int x = 0;x<1000;x+= 100)
{
for(int y=0;y<650; y+= 50)
{
drawRectangle(x, y, 5, 5); // Considering drawRectangle(x, y, width, height)
}
}
试试这个代码,当它与点碰撞时它会返回true。
Object pacman = new Object();
pacman.xcoord = null;
pacman.ycoord = null;
final int dotsInStage = 50;
// add other properties
int xcoords[] = new int[dotsInStage];
int ycoords[] = new int[dotsInStage];
将此布尔值称为:
public boolean dotCollison (int xcoords[], int ycoords[], Object pacman) {
loop = 0;
while (loop <= dotsInStage) {
if (pacman.xcoord = xcoords[loop] && pacman.ycoord = ycoords[loop]) {
return true;
break;
}
}
}
要添加矩形,请尝试:
int loop = 0;
while (loop <= dotsInStage) {
Graphics.drawRectangle (xcoord[loop] , ycoord[loop] , xcoord[loop] + 10 , ycoord[loop] + 10);
}
希望它有效并且编码愉快!
我不完全理解你的问题。但是你不能只使用嵌套的 for 循环创建一个二维数组吗?
For( int I = 0; I<array.length;i++){
For (int j = 0; j <array[0].length;I++){
//fill w/ rectangles
array[I][j]= ;
}}