尝试在AndroidStudio中绘制矩形矩阵。它没有用

时间:2016-01-29 17:53:39

标签: java android canvas android-studio

我正在编写一款手机游戏,比如Arkanoid游戏。我已经开始尝试绘制由矩形制成的矩阵,所以我写了一个" for"它超越了列和其他" for"在越过行的第一个内。当我执行应用程序时,这只是绘制一个行。我不知道什么是错的。求救!

     private void dibujarLadrillos(Canvas canvas, Paint paint)
{
    int width = 0;
    int height = 0;
    Rect[] ladrillos;

    for(int j = 0; j<= 2; j++) {
        ladrillos = new Rect[5];
        for (int i = 0; i <= ladrillos.length - 1; i++) {
            ladrillos[i] = new Rect(width, height, width + getWidth() / 5 - 10, height + getHeight()/10 );
            width += ladrillos[i].width() + 10;
            canvas.drawRect(ladrillos[i], paint);
        }
        height+= ladrillos[0].height() + 10;
    }
}

1 个答案:

答案 0 :(得分:0)

对于每个“j”,重复“i”循环。

因此,您生成和填充的new Rect[5]的最后一个都无法访问。最后一个可以通过“ladrillos”访问。

你需要一个像这样的二维数组:

Rect[][] ladrillos = new Rect[5][5];

for循环必须相应地改变(我确定这需要一些微调,但不幸的是我不熟悉Arkanoid ;-))

for(int j = 0; j<= 2; j++) {
    for (int i = 0; i <= ladrillos[j].length - 1; i++) {
        ladrillos[j][i] = ...
        width += ladrillos[j][i].width() + 10;
        canvas.drawRect(ladrillos[j][i], paint);
    }
    height+= ladrillos[j][0].height() + 10;
}