次の例のようなマップをループして、その幅と高さ、およびファイルの各ポイントの数を取得する必要があります。次に、その位置に (サイズを掛けた) 幅のパラメーターにタイルを追加します(x, y, width, height, id)
。" id
" は、テキスト ファイル内の現在の番号です。ファイルがどのように見えるかの例を次に示します。
2 0 0 0 0 0 0 0 0 2
2 0 0 0 0 0 0 0 0 2
2 0 0 0 0 0 0 0 0 2
1 1 1 1 1 1 1 1 1 1
マップ上のそれぞれの位置に新しいタイルを追加しようとしましたが、mapWidth と mapHeight はファイルの最初の位置 (この場合は 2) に実際のデータを返しています。配列にタイルを追加できるように、このテキスト ファイルのデータの幅と高さを返すにはどうすればよいですか? 私が試したコードは次のとおりです。
try {
Tile[][] tiles;
int mapWidth, mapHeight;
int size = 64;
//variables in same scop to save you time :)
FileHandle file = Gdx.files.internal(s);
BufferedReader br = new BufferedReader(file.reader());
mapWidth = Integer.parseInt(br.readLine());
mapHeight = Integer.parseInt(br.readLine());
System.out.println(mapWidth);
int[][] map = new int[mapWidth][mapHeight];
tiles = new Tile[mapWidth][mapHeight];
for(int i = 0; i < tiles.length; i++) {
for(int j = 0; j < tiles[i].length; j++) {
tiles[i][j] = new Tile(i * size, j * size, size, map[j][i]);
}
}
br.close();
} catch(Exception e) { e.printStackTrace(); }