Java 为同一对象绘制的不同图像
我在游戏中的图像有问题。我正在使用由我的老师编写的ImageLoader类。我创建了两个图像变量,如下所示:Java 为同一对象绘制的不同图像,java,image,arraylist,logic,side-scroller,Java,Image,Arraylist,Logic,Side Scroller,我在游戏中的图像有问题。我正在使用由我的老师编写的ImageLoader类。我创建了两个图像变量,如下所示: private static Image healthPic = ImageLoader.loadCompatibleImage("Health.gif"); private static Image enemyRocket = ImageLoader.loadCompatibleImage("EnemyShip2Rocket.png");; 要创建运行状况通电,我使用arraylis
private static Image healthPic = ImageLoader.loadCompatibleImage("Health.gif");
private static Image enemyRocket = ImageLoader.loadCompatibleImage("EnemyShip2Rocket.png");;
要创建运行状况通电,我使用arraylist,并使用以下代码填充它:
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是图像变量,5是y速度(它在屏幕上移动的速度),d是它对玩家造成的伤害。我的问题是,随着游戏的进行,在敌人全部发射火箭后大约一秒钟左右,随机地,与火箭相关的图片变量突然切换到健康加电图片,因此看起来好像是健康加电,但实际上是敌人的火箭。图片正在从火箭切换到健康通电通过重写方法和使用不同的对象(而不是游戏对象)修复了我自己的问题