我尝试创建六边形并将它们放在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);
}
}
窗口:
问题是第2行应该在第1行下集成。