1

嘗試爲粒子效果加載文件時獲取NullPointerException。嘗試爲LIBGDX中的粒子效果加載文件時獲取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) 

任何建議,爲什麼?

UPDATE:

我tryed在Android上運行,它的工作原理,但我得到這樣的:
enter image description here

,但如果我關掉手機屏幕,打開它回來了,比我看到這個,應該是這樣的:
enter image description here

我覺得這個更新會回覆第一條評論。

1)與桌面問題沒有解決 2)與應用程序啓動惡劣粒子圖像的新問題......

+0

粒子效果文本文件引用了一堆其他圖像文件。這些都在場嗎?如果你手動加載圖像,他們的工作? – 2013-03-12 21:19:22

+0

我覺得我的帖子更新會回覆你的評論。 – Aleksandrs 2013-03-14 09:02:03

回答

1

我有這個代碼

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

在公共類GameScreen的構造函數實現屏幕。我將這段代碼移到那個地方,所有的資源都在我的應用程序中加載一次。這解決了這兩個問題。現在它在桌面上工作,並且粒子渲染效果不好也沒有問題。

相關問題