Guten Tag, ich schreibe gerade ein 2D Sidescroller Helicopter spiel und hänge an folgendem Problem:
Wenn ich einen Gegner abschiesse soll dort eine Explosion die ich als .GIF habe erscheinen, ansich dachte ich absolut kein Problem, einfach in der paint Methode ein drawimage der .GIF an genau den Koordinaten wo der Gegner war.
und oben habe ich es halt deklariert:
Nun ist es so, aus irgendeinem mir bisher nicht nachvollziehbarem Grund wird die Explosion nicht angezeigt. Ich habe testweise alles ausprobiert: Wenn ich direkt am anfang ohne das ein Gegner Tot ist einfach
mache wird die Grafik einmal abgespielt und danach nicht mehr, obwohl die Paint Funktion die ganze Zeit aufgerufen wird. Nun hatte ich versucht das ich z.B. nach exp = n.getImage(); die Variable exp = null; setze und jedesmal bei einer Explosion sollte er die .gif neu laden aber es klappt einfach nicht :/
Wenn ich einen Gegner abschiesse soll dort eine Explosion die ich als .GIF habe erscheinen, ansich dachte ich absolut kein Problem, einfach in der paint Methode ein drawimage der .GIF an genau den Koordinaten wo der Gegner war.
Java:
public void paint(Graphics g){
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
// Explosion
if (gegner.tot)
g2d.drawImage(exp, gegner.x, gegner.y, null);
}
und oben habe ich es halt deklariert:
Java:
ImageIcon n = new ImageIcon(Frame.pfad+"ressourcen/img/game/explosion.gif");
exp = n.getImage();
Nun ist es so, aus irgendeinem mir bisher nicht nachvollziehbarem Grund wird die Explosion nicht angezeigt. Ich habe testweise alles ausprobiert: Wenn ich direkt am anfang ohne das ein Gegner Tot ist einfach
Java:
g2d.drawImage(exp, 100, 100, null);
mache wird die Grafik einmal abgespielt und danach nicht mehr, obwohl die Paint Funktion die ganze Zeit aufgerufen wird. Nun hatte ich versucht das ich z.B. nach exp = n.getImage(); die Variable exp = null; setze und jedesmal bei einer Explosion sollte er die .gif neu laden aber es klappt einfach nicht :/