我想知道如何在java中制作基于tile的地图。我想制作一个基本的2d平台型或自上而下型。我已经研究过了,但没有人帮助过多。然而,我所学到的是我必须制作瓷砖对象和二维矩阵来存储瓷砖的位置。
此外,互联网上还有许多程序可用于制作地图。我不想使用它们。
答案 0 :(得分:1)
您可以使用二维数组来存储地图图块,如此,
int[][] map =
{
{1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};
然后访问您的地图位置,例如map[1][1]
。或者更改map[0][0]
= 1。
您可能更愿意使用循环来生成0,或1或者您想要的瓷砖,而不是写出整个数组。
喜欢这样,
int[][] tileMap = new int[10][10];
for(int i = 0; i < tileMap.length; i++) {
for(int j = 0; j < tileMap[0].length; j++) {
tileMap[i][j] = 0;//put whatever number you want in
//here and it will insert it instead of 0's
}
}