Hello!
I’ve been playing around and learning Slick2d lately, and I decided to do a Tile Map. However, when I try and load it, it gives me an error. First, this is the error:
Tue Jun 18 14:58:40 MDT 2013 INFO:Slick Build #237
Tue Jun 18 14:58:40 MDT 2013 INFO:LWJGL Version: 2.9.0
Tue Jun 18 14:58:40 MDT 2013 INFO:OriginalDisplayMode: 1440 x 900 x 32 @60Hz
Tue Jun 18 14:58:40 MDT 2013 INFO:TargetDisplayMode: 960 x 600 x 0 @0Hz
Tue Jun 18 14:58:40 MDT 2013 INFO:Starting display 960x600
Tue Jun 18 14:58:40 MDT 2013 INFO:Use Java PNG Loader = true
Tue Jun 18 14:58:40 MDT 2013 INFO:Controllers not available
Tue Jun 18 14:58:40 MDT 2013 ERROR:For input string: ""
java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at org.newdawn.slick.tiled.TiledMap$GroupObject.<init>(TiledMap.java:1079)
at org.newdawn.slick.tiled.TiledMap$ObjectGroup.<init>(TiledMap.java:1033)
at org.newdawn.slick.tiled.TiledMap.load(TiledMap.java:688)
at org.newdawn.slick.tiled.TiledMap.<init>(TiledMap.java:106)
at org.newdawn.slick.tiled.TiledMap.<init>(TiledMap.java:90)
at com.dragon.Level1.init(Level1.java:21)
at org.newdawn.slick.state.StateBasedGame.init(StateBasedGame.java:171)
at org.newdawn.slick.AppGameContainer.setup(AppGameContainer.java:393)
at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:317)
at com.dragon.Main.main(Main.java:29)
Tue Jun 18 14:58:40 MDT 2013 ERROR:Failed to parse tilemap
org.newdawn.slick.SlickException: Failed to parse tilemap
at org.newdawn.slick.tiled.TiledMap.load(TiledMap.java:695)
at org.newdawn.slick.tiled.TiledMap.<init>(TiledMap.java:106)
at org.newdawn.slick.tiled.TiledMap.<init>(TiledMap.java:90)
at com.dragon.Level1.init(Level1.java:21)
at org.newdawn.slick.state.StateBasedGame.init(StateBasedGame.java:171)
at org.newdawn.slick.AppGameContainer.setup(AppGameContainer.java:393)
at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:317)
at com.dragon.Main.main(Main.java:29)
Caused by: java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at org.newdawn.slick.tiled.TiledMap$GroupObject.<init>(TiledMap.java:1079)
at org.newdawn.slick.tiled.TiledMap$ObjectGroup.<init>(TiledMap.java:1033)
at org.newdawn.slick.tiled.TiledMap.load(TiledMap.java:688)
... 7 more
Here is the class that is causing the problem:
package com.dragon;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.state.BasicGameState;
import org.newdawn.slick.state.StateBasedGame;
import org.newdawn.slick.tiled.TiledMap;
public class Level1 extends BasicGameState {
int stateID = 4;
private TiledMap map;
public Level1(int state) {
stateID = state;
}
@Override
public void init(GameContainer container, StateBasedGame game) throws SlickException {
map = new TiledMap("/res/world/level.tmx"); //Error
}
@Override
public void render(GameContainer container, StateBasedGame game, Graphics g) throws SlickException {
}
@Override
public void update(GameContainer container, StateBasedGame game, int delta) throws SlickException {
}
@Override
public int getID() {
return stateID;
}
}
I know that it’s the map = new TiledMap… line that’s causing this because of the error message. When I comment that line out, the game works fine. Thanks!