Olá estou fazendo um jogo de labirinto, estou usando Slick2D, peço para que ele use um arquivo de mapas (map.tmx).
A minha classe está no pacote pacman, o arquivo map.tmx está dentro do pacote res que está dentro do pacote pacman. Está assim
<pacman>
-Maze.java
-Pac.java
<res>//o pacote res
map.tmx
</res>
</pacman>
O trace:
run:
Thu Feb 21 19:40:00 GMT-03:00 2013 INFO:Slick Build #274
Thu Feb 21 19:40:00 GMT-03:00 2013 INFO:LWJGL Version: 2.0b1
Thu Feb 21 19:40:00 GMT-03:00 2013 INFO:OriginalDisplayMode: 1920 x 1080 x 32 @60Hz
Thu Feb 21 19:40:00 GMT-03:00 2013 INFO:TargetDisplayMode: 288 x 306 x 0 @0Hz
Thu Feb 21 19:40:00 GMT-03:00 2013 INFO:Starting display 288x306
Thu Feb 21 19:40:00 GMT-03:00 2013 INFO:Use Java PNG Loader = true
Thu Feb 21 19:40:00 GMT-03:00 2013 INFO:Controllers not available
Thu Feb 21 19:40:00 GMT-03:00 2013 ERROR:Resource not found: pacman/res/D:/Java/PacMan/src/platform_tiles.png
java.lang.RuntimeException: Resource not found: pacman/res/D:/Java/PacMan/src/platform_tiles.png
at org.newdawn.slick.util.ResourceLoader.getResourceAsStream(ResourceLoader.java:69)
at org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:169)
at org.newdawn.slick.Image.<init>(Image.java:196)
at org.newdawn.slick.tiled.TileSet.<init>(TileSet.java:113)
at org.newdawn.slick.tiled.TiledMap.load(TiledMap.java:447)
at org.newdawn.slick.tiled.TiledMap.<init>(TiledMap.java:90) at org.newdawn.slick.tiled.TiledMap.<init>(TiledMap.java:90)
at org.newdawn.slick.tiled.TiledMap.<init>(TiledMap.java:77)
at pacman.Maze.init(Maze.java:31)
at org.newdawn.slick.AppGameContainer.setup(AppGameContainer.java:390)
at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:314)
at pacman.Maze.main(Maze.java:25)
Thu Feb 21 19:40:00 GMT-03:00 2013 ERROR:Failed to parse tilemap
org.newdawn.slick.SlickException: Failed to parse tilemap
at org.newdawn.slick.tiled.TiledMap.load(TiledMap.java:480)
at org.newdawn.slick.tiled.TiledMap.<init>(TiledMap.java:90)
at org.newdawn.slick.tiled.TiledMap.<init>(TiledMap.java:77)
at pacman.Maze.init(Maze.java:31)
at org.newdawn.slick.AppGameContainer.setup(AppGameContainer.java:390)
at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:314)
at pacman.Maze.main(Maze.java:25)
Caused by: java.lang.RuntimeException: Resource not found: pacman/res/D:/Java/PacMan/src/platform_tiles.png
at org.newdawn.slick.util.ResourceLoader.getResourceAsStream(ResourceLoader.java:69)
at org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:169)
at org.newdawn.slick.Image.<init>(Image.java:196)
at org.newdawn.slick.tiled.TileSet.<init>(TileSet.java:113)
at org.newdawn.slick.tiled.TiledMap.load(TiledMap.java:447)
... 6 more
CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos)
Meu método init(){}:
public void init(GameContainer gc) throws SlickException{
map = new TiledMap("pacman/res/map.tmx");
blocked = new boolean[map.getWidth()][map.getHeight()];
for (int i = 0; i < map.getWidth(); i++)
{
for (int j = 0; j < map.getHeight(); j++)
{
int tileID = map.getTileId(i, j, 0);
String value = map.getTileProperty(tileID, "blocked", "false");
if ("true".equals(value))
{
blocked[i][j] = true;
}
}
}
}
Meu método main(String[] args){}:
public static void main(String[]args) {
try{
AppGameContainer app = new AppGameContainer(new Maze());
app.setDisplayMode(288, 306, false);
app.start();
}catch (SlickException e){}
}