在 LibGDX 中平铺无法将 java.lang.String 转换为 java.lang.Boolean
Tiled in LibGDX cannot cast java.lang.String to java.lang.Boolean
我正在尝试创建一个函数来检查 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
.
值的那一行
您可能应该删除对 Boolean
的转换,并确保选择了 Boolean.valueOf(String)
重载。
我正在尝试创建一个函数来检查 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
.
您可能应该删除对 Boolean
的转换,并确保选择了 Boolean.valueOf(String)
重载。