2014-03-30 27 views
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矢量類++)

+0

儘量遵循Java的命名約定。將'mixedCase'用於方法/變量,並將'CamelCase'用於類/接口。 – Christian

+0

你從來沒有初始化EnemyList – Tyler

+0

謝謝@Tyler:初始化'ArrayList <>'解決了這個問題。您可以發佈爲答案。 –

回答

1

變化ArrayList<EntityPlayer> EnemyList;ArrayList<EntityPlayer> EnemyList = new ArrayList<EntityPlayer>();