Почему объекты не рисуются, когда я проверяю столкновение? - PullRequest
0 голосов
/ 10 мая 2019

Привет. Я пытаюсь создать игру космических захватчиков, и у меня возникла проблема со столкновением ракеты с врагом. Я создал функцию, которая проверяет столкновение, используя метод intersects из прямоугольника, но когда я вызываю его в методе обновления врага, ракеты не запускаются игроком правильно, и я не могу понять, почему.

//enemy class
public void checkCollisions(){

   for(int i=0;i<GameFrame.getMissileList().size();i++){

       Missile m = GameFrame.getMissileList().get(i);

       if(getBounds().intersects(m.getBounds()))
           GameFrame.removeEnemy(this);
           GameFrame.removeMissile(m);
   }
}

// метод getbounds из прямоугольника

public Rectangle getBounds()
{ return new 
Rectangle(x,y,getEnemyImg().getWidth(null),getEnemyImg().getHeight(null));
}

//

public void actionPerformed(ActionEvent e)
{
    player.update();
    repaint();

    for(int i=0; i<enemies.size();i++)
    {
        Enemy tempEnemy = enemies.get(i);
        tempEnemy.update();
    }

    for(int i=0; i < missiles.size();i++)
    {
        Missile m = missiles.get(i);
        m.update();

    }

    repaint();
}
...