多边形在Slick2D中的定位

时间:2014-05-19 07:20:00

标签: java opengl slick2d

我尝试创建六边形并将它们放在opengl窗口上。我想将它们用作平铺地图。我目前的代码如下:

private Polygon generateTile(){
        Polygon poly = new Polygon();
        for(int i = 0; i < 6; ++i) {
            poly.addPoint((float)Math.sin(i/6.0*2*Math.PI),
                    (float)Math.cos(i/6.0*2*Math.PI));
        }
        return poly;
    }

private void generateTiles (){
        Shape s;
        Polygon p = generateTile();
        for (int i = 0; i <= 2; i++) {
            for (int j = 0; j <=10; j++) {
                s=p.transform(Transform.createScaleTransform(Constants.TILE_SIZE, Constants.TILE_SIZE));
                if (i%2==0) {
                    s.setLocation(s.getMaxX()*j*2, s.getMaxY()*i*2);
                } else {
                    s.setLocation(s.getMaxX()*j*2+Constants.TILE_SIZE, s.getMaxY()*i*2);
                }

                tiles.add(s);

            }
        }

窗口:

enter image description here

问题是第2行应该在第1行下集成。

1 个答案:

答案 0 :(得分:2)

图块的实际偏移量不是它的大小。

有一篇关于此here

的精彩文章

Hex Grid dimensions