我有一个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 ++中的向量类)
答案 0 :(得分:1)
将ArrayList<EntityPlayer> EnemyList;
更改为
ArrayList<EntityPlayer> EnemyList = new ArrayList<EntityPlayer>();