1

尝试为粒子效果加载文件时出现 NullPointerException。

particleEffect = new ParticleEffect();
particleEffect.load(Gdx.files.internal("hdpi/particles/progressbar"), Gdx.files.internal("hdpi/particles"));

这是堆栈跟踪:

Exception in thread "Timer-0" java.lang.NullPointerException
at org.lwjgl.opengl.GL11.glGenTextures(GL11.java:1372)
at com.badlogic.gdx.backends.lwjgl.LwjglGL10.glGenTextures(LwjglGL10.java:240)
at com.badlogic.gdx.graphics.Texture.createGLHandle(Texture.java:166)
at com.badlogic.gdx.graphics.Texture.create(Texture.java:158)
at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:133)
at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:126)
at com.badlogic.gdx.graphics.g2d.ParticleEffect.loadTexture(ParticleEffect.java:198)
at com.badlogic.gdx.graphics.g2d.ParticleEffect.loadEmitterImages(ParticleEffect.java:193)
at com.badlogic.gdx.graphics.g2d.ParticleEffect.load(ParticleEffect.java:141)
at com.yyy.xxx.Screens.GameScreen.<init>(GameScreen.java:38)
at com.yyy.xxx.MyScreen$3.getScreenInstance(MyScreen.java:27)
at com.yyy.xxx.ScreenManager.show(ScreenManager.java:33)
at com.yyy.xxx.ScreenChangeTask.run(ScreenChangeTask.java:15)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)

任何建议为什么?

更新:

我尝试在 android 上运行并且它可以工作,但我得到了这样的东西:
在此处输入图像描述

但是如果我关闭手机屏幕并重新打开它,我会看到这个,它应该是这样的:
在此处输入图像描述

我认为此更新将回复第一条评论。

1) 桌面问题未解决 2) 应用启动时出现不良粒子图像的新问题...

4

1 回答 1

1

我有这个代码

particleEffect = new ParticleEffect();
particleEffect.load(Gdx.files.
                    internal("hdpi/particles/progressbar.p"), 
                    Gdx.files.internal("hdpi/particles/"));

在公共类 GameScreen 的构造函数中实现了 Screen。我将此代码移到那个地方,所有资产都在我的应用程序中加载一次。这解决了这两个问题。现在它在桌面上运行,并且没有粒子渲染不好的问题。

于 2013-03-14T09:48:01.587 回答