为同一个对象绘制的不同图像

时间:2014-09-09 22:08:58

标签: java image arraylist logic side-scroller

我的游戏中的图片存在问题。我正在使用由我的老师编写的ImageLoader类。我创建了两个Image变量:

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。 我使用此代码填充敌人的火箭arraylist

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是对球员的伤害。我的问题是随着游戏的进行,随机,在敌人全部射击火箭后大约一秒左右,与火箭相关的图片变量突然切换到健康通电图片,所以看起来健康强大即将到来,但它确实是敌人的火箭。图片正在从火箭切换到健康通电

1 个答案:

答案 0 :(得分:0)

通过重写方法和使用不同的对象来修复我自己的问题,而不是GameObject