【问题标题】:Slick2D Unexpected ErrorSlick2D 意外错误
【发布时间】:2014-11-15 08:41:09
【问题描述】:

我一直在使用 Slick2D 制作游戏,最近开始不得不使用控制台进行调试,我注意到我收到了以下错误:

Mon Jun 02 16:13:35 BST 2014 WARN:class org.newdawn.slick.opengl.PNGImageData failed to read the data
java.lang.UnsupportedOperationException: Unsupported format for this image
    at org.newdawn.slick.opengl.PNGDecoder.decode(PNGDecoder.java:272)
    at org.newdawn.slick.opengl.PNGImageData.loadImage(PNGImageData.java:97)
    at org.newdawn.slick.opengl.CompositeImageData.loadImage(CompositeImageData.java:62)
    at org.newdawn.slick.opengl.CompositeImageData.loadImage(CompositeImageData.java:43)
    at org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:292)
    at org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:254)
    at org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:187)
    at org.newdawn.slick.Image.<init>(Image.java:192)
    at org.newdawn.slick.Image.<init>(Image.java:166)
    at org.newdawn.slick.Image.<init>(Image.java:154)
    at org.newdawn.slick.Image.<init>(Image.java:132)
    at luke_r.java.project_alpha.SplashScreenInitiator.init(SplashScreenInitiator.java:27)
    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 luke_r.java.project_alpha.Core.main(Core.java:21)
Mon Jun 02 16:13:35 BST 2014 INFO:Initialising sounds..
Mon Jun 02 16:13:35 BST 2014 INFO:- Sound works
Mon Jun 02 16:13:35 BST 2014 INFO:- 64 OpenAL source available
Mon Jun 02 16:13:35 BST 2014 INFO:- Sounds source generated
Mon Jun 02 16:13:35 BST 2014 WARN:class org.newdawn.slick.opengl.PNGImageData failed to read the data
java.lang.UnsupportedOperationException: Unsupported format for this image
    at org.newdawn.slick.opengl.PNGDecoder.decode(PNGDecoder.java:272)
    at org.newdawn.slick.opengl.PNGImageData.loadImage(PNGImageData.java:97)
    at org.newdawn.slick.opengl.CompositeImageData.loadImage(CompositeImageData.java:62)
    at org.newdawn.slick.opengl.CompositeImageData.loadImage(CompositeImageData.java:43)
    at org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:292)
    at org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:254)
    at org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:187)
    at org.newdawn.slick.Image.<init>(Image.java:192)
    at org.newdawn.slick.Image.<init>(Image.java:166)
    at org.newdawn.slick.Image.<init>(Image.java:154)
    at org.newdawn.slick.Image.<init>(Image.java:132)
    at luke_r.java.project_alpha.ImageManager.load(ImageManager.java:14)
    at luke_r.java.project_alpha.SplashScreenInitiator.init(SplashScreenInitiator.java:30)
    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 luke_r.java.project_alpha.Core.main(Core.java:21)

我完全不知道(经过大量研究)是什么原因造成的。请解释一下?

编辑:这是它不喜欢第一个错误的行:splash = new Image("res/img/splash.png"); 这是第二个错误不喜欢的行:sandMap = new Image("res/img/map/sandmap.png");

编辑 2: Sandmap.png Splash.png

【问题讨论】:

    标签: java slick2d


    【解决方案1】:

    如果您仍然遇到此问题,那么我可能有一个解决方案。我使用paint.net 并遇到了同样的问题。当您从paint.net 保存图像时,选择保存位置后会弹出保存配置窗口。对我来说,我必须将位深度从 8 位更改为 32 位。自动检测有时会起作用,但前提是它会自动检测为 32 位。我还没有测试过 24 位,它也可以工作。希望这会有所帮助。

    【讨论】:

    • 这似乎是唯一对我有用的解决方案。 +1
    【解决方案2】:

    org.newdawn.slick.opengl.PNGImageData 读取数据失败

    此图片格式不支持

    错误消息说明出了什么问题。您的图像已损坏、不受支持或未正确保存。你用的是什么类型的图片?

    【讨论】:

    • 我正在使用 .PNG,图像在代码中工作正常,它显示,我可以从中获取属性以及在这种情况下我通常可以对图片执行的所有操作(在 Slick2D 中) )。
    • @LemonLuke 你能把图片上传到某个地方并添加你正在使用的代码吗?
    【解决方案3】:

    @Anubian 是正确的,您的 PNG 必须已损坏。尝试重新制作它或使用其他软件来创建它。查看 Slick2D 在哪里抛出异常 here。我尝试使用 Wolfgang Fellger 的 PNG Analyzer,但我什至无法打开你的图片。

    【讨论】:

    • 但是我该如何解决这个问题?我在 Paint.NET 中制作了图片,我一直使用它没有任何问题,这是我能找到的唯一一张好照片。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多