java - Android:为敌人创建存储阵列

标签 java android class arraylist opengl-es-2.0

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

数组声明如下:

...
 ArrayList<EntityPlayer> EnemyList;

并填充敌人的内容:

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

突然间,程序崩溃了,日志如下:

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)

这样做的目标是在“if”语句中生成一个新敌人,并使用存储在 EntityPlayer 元素实例化中的方法。我可以手动声明 EntityPlayer 的单独实例,但我可以更好地控制这个系统。 (这是为了模仿 C++ 中的 vector 类)

最佳答案

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

关于java - Android:为敌人创建存储阵列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22739196/

相关文章:

android - Android 中的连拍模式相机可以拍摄多张照片

android - 将新硬件(RF 读卡器)连接到 Android 设备

php - 如何在 PHP 中访问类方法的私有(private)函数中的 self::in?

java - 有人可以解释 SharedPreferences 如何存储字符串集

java - 确定传递 Java 导入的工具?

java - 如何防止 Postman 调用 Rest WebService?

java - 根据员工字母表(排序)合并两个列表

java - 无法在输入字段中显示 JSTL 值 - Spring MVC

c++ - 通过函数返回类指针

java - 我们可以实例化一个抽象类吗?