2

アイソメトリック ゲーム用のマップ エディターを作成していますが、アイソメトリック ガイド グリッド (オブジェクトが配置される場所を示すグリッド) のレンダリングに少し手こずっています。つまり、可変幅と高さのセルでグリッドを形成するように、Graphics オブジェクトを横切る線を描画する必要があります。これを達成するにはどうすればよいですか?

これまでのところ、私は持っています:

//The number of cells in each direction
int nv=h/cellh;
int nh=w/cellw;
for(int i=1;i<=nv;++i){
    g.drawLine(0,i*cellh,i*cellh*2,0);
}

しかし、それは左側から始まる左下から右上の線を描くだけです。

4

1 に答える 1

2

これは期待どおりに機能します。

public void paintComponent(Graphics g) {
    super.paintComponent(g);
    g.setColor(Color.GREEN);
    int width = getWidth();
    int height = getHeight();
    int sizeW = 50;
    int sizeH = 50;
    int countW = width / sizeW;
    int countH = height / sizeH;

    for (int i = 0; i <= countW + countH; i++) {
        g.drawLine(0, i * sizeH, i * sizeH, 0);
        g.drawLine(width - i * sizeW, 0, width, i * sizeW);
    }
}
于 2012-09-15T05:10:35.057 に答える