【发布时间】:2012-10-03 16:07:27
【问题描述】:
我正在尝试用 Java 制作游戏,而且我已经有了一些东西。但我想让玩家射击子弹。 我想出了创建一个对象数组的想法,并将所有 Bullet 实例放入数组中。然后在一个线程中,我想让它们全部移动(数组中的所有对象)。
这是我放在主类中的:
Bullet[] BulletArray;
public int Bullets = 0;
public void run() {
for(int i = 0; i < Bullets; i++){
BulletArray[i].Step();
}
if(Key.FireKey){
BulletArray[Bullets + 1] = new Bullet();
Bullets += 1;
}
}
我刚刚在原始代码中包含了基本内容,即 run 函数运行良好。 该代码不起作用,当我按下 Fire 时它给了我一个错误。错误在某处
BulletArray[Bullets + 1] = new Bullet();
希望你明白我的意思。
【问题讨论】:
-
抱歉...有什么问题?
-
有什么问题吗?或者您想告诉我们您正在制作游戏?仅供参考,您应该以小写字母或下划线开头声明您的变量(添加方法)。
-
您应该应用 Java 命名约定:变量以小型大写字母开头:BulletArray => bulletArray, Bullets => bullets 等。
-
有什么问题?您是否收到空指针异常?如果是这样,您可以通过将行
BulletArray[Bullets+1] = new Bullet();更改为BulletArray[Bullets] = new Bullet();来修复它 -
您是否注意数组大小,即是否在必要时增加大小?如果数组可以调整大小,我建议使用
List。