Java 敌人产卵机器人
我正在制作一个安卓游戏,在屏幕顶部以一定的间隔产生敌人的精灵。没有语法错误,但当我运行游戏时,它会崩溃,因为这个函数:Java 敌人产卵机器人,java,android,eclipse,sprite,Java,Android,Eclipse,Sprite,我正在制作一个安卓游戏,在屏幕顶部以一定的间隔产生敌人的精灵。没有语法错误,但当我运行游戏时,它会崩溃,因为这个函数: public void updateEnemies() { if (numEnemiesCreated == numVisibleEnemies) { if (timeLastCreatedEnemy + 1000 < System.currentTimeMillis()) { timeLastCreatedEnemy =
public void updateEnemies() {
if (numEnemiesCreated == numVisibleEnemies) {
if (timeLastCreatedEnemy + 1000 < System.currentTimeMillis()) {
timeLastCreatedEnemy = System.currentTimeMillis();
boolean createdNewEnemy = false;
for (int i = 0; i < this.numVisibleEnemies; i++) {
if (createdNewEnemy == false) {
if (holderEnemy[i].isDisposed()) {
this.generateNewEnemy(i);
createdNewEnemy = true;
}
}
}
}
for(int i = 0; i<numVisibleEnemies; i++){
if(!holderEnemy[i].isDisposed()){
holderEnemy[i].move();
}
}
} else {
holderEnemy[numEnemiesCreated] = new Enemy(context, 0, 0);
numEnemiesCreated++;
}
}
由于您得到的未捕获异常是一个
NullPointerException
,因此需要检查HolderEnmy
中的每个元素是否被实例化为其正确的类型。不能取消引用null
——这是数组中默认给定的值
若要稍微删除点,请使用以下元素数组:
Enemy[] holderEnemy = new Enemy[1000];
这还不足以实例化数组。您将需要在阵列上循环,并为每个元素创建新的敌人s。否则,您需要保证在[0,numvisiblefeeds
的范围内,您的数组元素被正确实例化
(注意,我在猜测对象类型,但原则适用。)能告诉我们第49行是什么吗?
Enemy[] holderEnemy = new Enemy[1000];