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

2 つ (幅または高さ) の中で最も短い方を使用し、それを使用してグリッドを構築します。(グリッドが画面に収まるように)

何かのようなもの...:

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 に答える