0
我有一個ArrayList用於在遊戲中動態創建敵人。直觀地填充列表時,遊戲突然崩潰,可能是空指針異常。Android:爲敵人創建存儲陣列
陣列被聲明爲這樣:
...
ArrayList<EntityPlayer> EnemyList;
和與敵人內容填充:
03-30 01:03:02.066: W/dalvikvm(1348): threadid=11: thread exiting with uncaught exception (group=0xa6185908)
03-30 01:03:02.066: E/AndroidRuntime(1348): FATAL EXCEPTION: GLThread 102
03-30 01:03:02.066: E/AndroidRuntime(1348): java.lang.NullPointerException
03-30 01:03:02.066: E/AndroidRuntime(1348): at com.example.rr.ApplicationClass.GLRenderClass.onDrawFrame(GLRenderClass.java:143)
03-30 01:03:02.066: E/AndroidRuntime(1348): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1516)
03-30 01:03:02.066: E/AndroidRuntime(1348): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
:
...
EnemyList.add(new EntityPlayer(mMVPMatrix, mActivityContext, R.drawable.enemy));
突然,在這一點上,該程序用數崩潰
這樣做的目標是在「if」語句中產生新的敵人,並使用存儲在元素的i中的方法EntityPlayer
的實例化。我可以手動聲明EntityPlayer的單獨實例,但是我可以更好地控制這個系統。 (這是爲了模仿在C矢量類++)
儘量遵循Java的命名約定。將'mixedCase'用於方法/變量,並將'CamelCase'用於類/接口。 – Christian
你從來沒有初始化EnemyList – Tyler
謝謝@Tyler:初始化'ArrayList <>'解決了這個問題。您可以發佈爲答案。 –