在一行中绘制多个矩形

时间:2018-06-26 23:46:30

标签: java jframe drawrect

我正在尝试制作一个游戏,如果球击中一个矩形,则矩形的值会下降,一旦达到0,它将消失。我尚未实现计数变量,但遇到了一个问题,我试图在顶部绘制一列数组,但是当我尝试绘制多个矩形并将它们留在此处时,我的循环仅渲染一个对象球会对此做出反应。我该怎么办?

keyPressed()

}

1 个答案:

答案 0 :(得分:1)

好吧,看了更多的代码之后,让我们开始...

int[] rect = new int[12];

这将创建一个int数组,该数组最初初始化为所有0 s

接下来,您要做...

for (int i =0; i<rect.length; i++)
{
    rect[i] = rect[i] +50;
}

基本上,所有这些操作就是将50添加到0并将其分配回数组元素,所以当您这样做时...

for (int i=0; i<rect.length; i++)
{
    g.fillRect(rect[i], 2, brickWH, brickWH);

}

它只是将每个“砖”画在最后一个砖的顶部,因为它们都处于相同的水平位置

对我而言,真正,非常,非常突出的是...

for (int i =0; i<rect.length; i++)
{
    rect[i] = rect[i] +50;
}

您是否打算让每个积木相隔50个像素?在这种情况下,您可能应该做更多类似的事情...

int xPos = 0;
for (int i =0; i<rect.length; i++)
{
    rect[i] = xPos;
    xPos += 50;
}

如果相反,它们应该放在一起,那么您会想要更多类似的东西...

for (int i =0; i<rect.length; i++)
{
    rect[i] = brickWH * i;
}