我正在尝试编写Java RPG游戏,但是tileSet
加载程序无法正常工作。
这是代码:
TileSet tileSet1 = new TileSet("/tiles/rpg.png", 12, 12, 0, null);
Level level = new Level(this, "/level/level1.txt", tileSet);
这导致错误。这应该通过它执行,但是问题是它是一个数组。但这必须是该类中其他方法的数组:
public Level(Game game, String path, TileSet[] ts1) {
this.game = game;
this.ts = ts1;
String file = Utils.loadFileAsString(path);
String[] tokens = file.split("\\s");
sizeY = Utils.parseInt(tokens[1]);
tileMap = new int[1][sizeX][sizeY];
int i = 2;
for(int y = 0; y < sizeY; y++){
for(int x = 0; x < sizeX; x++){
tileMap[0][x][y] = Utils.parseInt(tokens[i++]);
}
}
}
为什么会这样?
答案 0 :(得分:1)
构造函数在最后一个参数中期望使用数组,但是您仅传递了一个对象。尝试将其包装到数组中:
Level level = new Level(this, "/level/level1.txt", new TileSet[]{tileSet});