Android:为敌人创建存储阵列

时间:2014-03-30 01:28:50

标签: java android class arraylist opengl-es-2.0

我有一个ArrayList用于在游戏中动态创建敌人。直观地填充列表时,游戏突然崩溃,可能是空指针异常。

数组声明如下:

...
 ArrayList<EntityPlayer> EnemyList;

并填充敌人的内容:

...
EnemyList.add(new EntityPlayer(mMVPMatrix, mActivityContext, R.drawable.enemy));

突然,此时,程序崩溃了log:

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)

这样做的目的是在&#34;中产生新的敌人。声明,并使用存储在元素的EntityPlayer实例中的方法。我可以手动声明EntityPlayer的单独实例,但我可以更好地控制此系统。 (这意味着模仿C ++中的向量类)

1 个答案:

答案 0 :(得分:1)

ArrayList<EntityPlayer> EnemyList;更改为 ArrayList<EntityPlayer> EnemyList = new ArrayList<EntityPlayer>();