在LibGDX中平铺无法将java.lang.String转换为java.lang.Boolean

时间:2016-04-07 11:02:43

标签: java tiled

我正在尝试创建一个函数,通过访问我为每个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的值的行上。

1 个答案:

答案 0 :(得分:0)

你应该将演员表移除到Boolean,并确保选择Boolean.valueOf(String)重载。