Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试在Android中使用drawRect绘制网格,获得奇怪的输出_Java_Android - Fatal编程技术网

Java 尝试在Android中使用drawRect绘制网格,获得奇怪的输出

Java 尝试在Android中使用drawRect绘制网格,获得奇怪的输出,java,android,Java,Android,我正在尝试为生活游戏应用程序绘制矩形对象的网格。在这个阶段,我只是想让基本网格正常工作。最终,它将计算活细胞和死细胞的布尔数组,并相应地更改绘制样式。为了便于测试,我已经尽可能地简化了代码。我试图画一个100x100个矩形的9x6网格,没有填充 这是我的密码: paintGrid.setStyle(Paint.Style.STROKE); //sets paint style for grid squares int gm = 100; //gridMultiplier

我正在尝试为生活游戏应用程序绘制矩形对象的网格。在这个阶段,我只是想让基本网格正常工作。最终,它将计算活细胞和死细胞的布尔数组,并相应地更改绘制样式。为了便于测试,我已经尽可能地简化了代码。我试图画一个100x100个矩形的9x6网格,没有填充

这是我的密码:

    paintGrid.setStyle(Paint.Style.STROKE);    //sets paint style for grid squares 
    int gm = 100; //gridMultiplier determines rectangle size in this case 100x100

    for(int r = 0; r < 9; r++) //paints grid with 9 rows
    {
        for(int c = 0; c < grid[0].length; c++) //6 columns 
        {
            top = r*gm; //sets LEFT side
            bottom = top+gm; //sets RIGHT side
            left = c*gm;
            right = left+gm; 
            Log.v(LOGTAG, "left: " + left + " right: "+ right+ " top: " + top +
                  " bottom: " + bottom); //testing
            canvas.drawRect(left, top, bottom, right, paintGrid); //paints dead Cell
        }
    }
paintGrid.setStyle(Paint.Style.STROKE)//设置栅格正方形的绘制样式
int gm=100//gridMultiplier在本例中确定矩形大小为100x100
for(int r=0;r<9;r++)//用9行绘制网格
{
对于(int c=0;c
我希望通过先从左到右绘制顶行,然后再绘制第二行,并继续绘制网格,直到完成为止。

用于测试的logcat输出im似乎表明回路工作正常。我得到: 左:0右100顶部0底部100 左:100右200上0下100 左:200右300上0下100 左:300右400上0下100 左:400右500顶0底100

左0右100顶部100底部200 左100右200上100下200 左200右300顶100底200 ... 等


我在这里简直不知所措!我的印象是2D阵列是行主阵列,所以我一直在努力保持这种设置。有什么建议吗?提前谢谢

您已经切换了右参数和下参数。右顺序是左、上、右、下。由于android需要右键>左键和下键>上键,或者根本不会绘制矩形,所以生成的结果就是。因此,您的代码只在对角线上绘制那些由于bottom=right而不相关的元素