过去一个小时左右我一直在研究,但我似乎无法渲染等轴测图。我想实现这样的目标。但我得到这个...... 我将我的地图作为图块存储在一维数组中,如下所示:
private final int width, height;
private final int tileWidth, length;
private int[] tiles;
public Level(int width, int height) {
this.width = width;
this.height = height;
tiles = new int[width * height];
tileWidth = 68;
length = 48;
}
我通过 10, 10 作为宽度和高度的参数。我像这样渲染地图:
public void render(Graphics g) {
for (int x = 0; x < width; x++) {
for (int y = 0; y < height; y++) {
g.setColor(Color.red);
if (x % 2 == 0)
g.drawRect(x * tileWidth, y * length / 2, tileWidth, length);
else
g.fillRect((x * tileWidth) + (tileWidth / 2), (y * length / 2), width, length);
}
}
}
任何帮助将不胜感激,我想学习制作等距游戏,但一直坚持使用平面 2D。