我的游戏中的图像有问题。我正在使用我的老师编写的 ImageLoader 类。我像这样创建两个图像变量:
private static Image healthPic = ImageLoader.loadCompatibleImage("Health.gif");
private static Image enemyRocket = ImageLoader.loadCompatibleImage("EnemyShip2Rocket.png");;
为了创建健康加速,我使用了一个数组列表,并使用以下代码填充它:
if (frameCount % 951 == 0){
Random r = new Random();
int randX = r.nextInt(width - 20)+10;
healthP.add(new GameObject(randX, -400, 20,20,healthPic,8,0));
}
enemyWH 是用于宽度和高度的变量之一。它等于 35。我使用此代码填充敌人的火箭阵列列表
if (frameCount % 300 == 0){
for (int i = army.size()-1;i>=0;i--){
EnemyShip curEnemy = army.get(i);
rocketP.add(new GameObject(curEnemy.getR().x, curEnemy.getR().y, 20,20, enemyRocket,5,d));
}
}
20 和 20 是宽度和高度,x 和 y 是敌人在那个确切位置和时间的位置,enemyRocket 是 Image 变量,5 是 ySpeed(它在屏幕上移动的速度),d 是它对玩家造成的损害。我的问题是,随着游戏的进行,随机地,在敌人全部发射火箭后大约一秒钟左右,与火箭相关的图片变量突然切换到健康加电图片,所以看起来健康加电即将到来,但它确实是敌方火箭。图片正在从火箭切换到健康通电