您好我正在尝试在画布上制作方形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);
}
编辑:我现在可以制作一个正方形网格,但我不知道如何将网格置于手机中间
答案 0 :(得分:4)
你需要选择两个中最短的(宽度或高度)并使用它来构建网格。 (所以你的网格可以放在屏幕上)
像......这样的东西:
float gridSide = 0;
if (getWidth() > getHeight()) {
gridSide = getHeight();
}
else {
gridSide = getWidth();
}
appsroxcom提供的更简单的逻辑:
float gridSide = Math.min(testWidth(), testHeight());
使用 gridSide 作为网格的总长和总宽度