3

嗨,我正在尝试在画布上制作方形 8x8 网格。我设法制作了一个网格,但结果是矩形的,但对于我正在制作的游戏,它需要是方形的。如何更改我的代码以使其成为缩放到手机的方形网格。

float testWidth = (getWidth() - 16f) / 9f;
float testHeight = (getHeight() - 16f) / 9f;
for (int i = 0; i < 9; i++) {
            canvas.drawLine(padding + testWidth* i, padding, padding
                    + testWidth * i, testHeight* 8+padding, dark);
            canvas.drawLine(padding,  padding+testHeight* i, testWidth* 8
                    + padding, padding+testHeight* i, dark);
        }

编辑:我现在可以制作一个方形网格,但我不知道如何将网格置于手机中间

4

1 回答 1

4

您需要取两者中最短的一个(宽度或高度)并使用它来构建网格。(所以你的网格可以适合屏幕)

就像是...:

float gridSide = 0;
if (getWidth() > getHeight()) {
  gridSide = getHeight();
}
else {
  gridSide = getWidth();
}

appsroxcom提供的更简单的逻辑:

float gridSide = Math.min(testWidth(), testHeight());

使用gridSide作为网格的总长度总宽度

于 2013-02-28T15:13:19.810 回答