我在代码中遇到过NullpointerException。我正在尝试使用我的包文件并将它们存储在纹理区域中,以便我可以将其用作动画的帧,每次我尝试运行它都会给我一个错误。我也试过setRegion()但它仍然给我错误,同样的nullpointerexception,似乎找不到什么错误。需要帮助调试我的代码。
这是我的代码:
walking = new TextureAtlas(Gdx.files.internal("character/dugman/hero.pack"));
wu1 = new TextureRegion(walking.findRegion("heroup1.png"));
wu1.setRegion(10, 10, 10, 10);
wu2 = new TextureRegion(walking.findRegion("heroup2.png"));
wu2.setRegion(10, 10, 10, 10);
wu3 = new TextureRegion(walking.findRegion("heroup3.png"));
wu3.setRegion(10,10,10, 10);
wu = new Animation(0.5f, wu1,wu2,wu3);
wu.setPlayMode(Animation.LOOP_PINGPONG);
例外:
Exception in thread "LWJGL Application" java.lang.NullPointerException
at com.badlogic.gdx.graphics.g2d.TextureRegion.setRegion(TextureRegion.java:100)
at com.badlogic.gdx.graphics.g2d.TextureRegion.<init>(TextureRegion.java:63)
答案 0 :(得分:1)
对于未来的寻求者:
正如我在评论中所说 - 打包器删除了文件扩展名。您添加了区域名称也区分大小写。
答案 1 :(得分:-1)
动画图像.pack文件上的帧最好使用相同的名称,您可以手动重命名名称。