0

我的游戏中的图像有问题。我正在使用我的老师编写的 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 是它对玩家造成的损害。我的问题是,随着游戏的进行,随机地,在敌人全部发射火箭后大约一秒钟左右,与火箭相关的图片变量突然切换到健康加电图片,所以看起来健康加电即将到来,但它确实是敌方火箭。图片正在从火箭切换到健康通电

4

1 回答 1

0

通过重写方法并使用不同的对象而不是 GameObject 解决了我自己的问题

于 2014-09-11T02:17:56.863 回答