When you pass a string to a Slick Image/Sound/etc. it will work like so:
- Search the classpath:
1
| ...getClassLoader().getResource(cpRef); |
- If that fails, search the file system (hence your error).
- If that fails, throw a RuntimeException. (not really the best thing Slick could do...)
So your problem is because Slick can't find the image in the classpath based on the
tilesLocation + "/" + ref path.
Ideally TiledMap should allow you to set the image yourself. I am not familiar with TiledMap (liam has been handling changes) so I'd have to look into it a bit before making changes.
You could get rid of the security exception like so:
1 2
| ResourceLoader.removeAllResourceLocations(); ResourceLoader.addResourceLocation(new ClasspathLocation()); |
(this won't really fix your problem, since it's clear Slick can't find the file in the classpath...)