好吧我正在创建一个Breakout游戏,我需要创建一个为每个砖块创建矩形对象的方法,这样我就可以实现命中检测,我已经有了一个方法,所以可以像这样绘制砖块: / p>
public void drawBricks(Graphics g)
{
g.setColor(brickColor);
for(int i = 0; i<10; i++)
{
for(int a = 0; a<121; a+=30)
{
g.fillRect(x+(width*i)+(spacer*i), y +a, width, height);
// spacer = 10, x and y = 5, width = 50, height = 20, if you need this...
}
}
}
现在到了我无法弄清楚的部分。我想创建具有上面绘制的精确对应坐标的矩形对象,并将它们添加到多维数组,但我需要y从5开始,每次为每行增加30。这是我到目前为止: *此外我不确定这是否真的可行,所以如果你对我能做到的其他方式有所了解,请告诉我。
public void setBricks()
{
for(int i= 0; i<10;i++)
{
for(int a=0; a<5; a++)
{
bricks[i][a] = new Rectangle(x+(width*i)+(spacer*i), y +a, width, height);
} // any ideas how to get each y ^ coordinate equal to the one above
} // i need the int variables to stay at 10 and 5 because of the size of the array.
}
答案 0 :(得分:0)
好吧,如果您希望y
从5
开始并增加30,请使用5+a*30
:
public void setBricks()
{
for(int i= 0; i<10;i++)
{
for(int a=0; a<5; a++)
{
bricks[i][a] = new Rectangle(x+(width*i)+(spacer*i), 5 + a*30, width, height);
}
}
}