我正在尝试创建一个函数,通过访问我为每个tile提供的布尔自定义属性来检查Tiled中的单元格是否可以传递。这是我的代码(部分)。
...
public boolean isCellPassable(int column, int row, MapLayer layer) {
boolean canPass = Boolean.valueOf((Boolean) ((TiledMapTileLayer) layer).getCell(column, row).getTile().getProperties().get("can_pass"));
if (canPass == true) {
return true;
}
else {
return false;
}
}
public void displayHUD(ShapeRenderer hud) {
System.out.println(isCellPassable(0, 6, Main.level1.getLayers().get("base")));
...
即使在isCellPassable
函数中我将其转换为布尔值,由于某种原因我仍然会收到此错误..
Exception in thread "LWJGL Application" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Boolean
..在我设置canPass
的值的行上。
答案 0 :(得分:0)
你应该将演员表移除到Boolean
,并确保选择Boolean.valueOf(String)
重载。