Hi @all,
ich habe mir vorgenommen, ein kleines Prügelspiel im Stil von "Little Fighter 2" zu basteln. Da dies mein erstes Spiel in Java ist, wollt ich mch erstmal auf Grundfunktionen (Laufen, Schiessen, Kollisionsabfragen) beschränken.
Ich habe nach dem in diesem Forum verlinkten SPiele-Tut mit dem Helicopter gearbeitet und habe die dort verwendeten Klassen und Methoden soweit es ging, auf meinen kleinen Kämpfer abgewandelt.
Momentan verfügt der über ne Laufanimation, lässt sich steuern, und schiesst auf knopfdruck.
Woran ich scheiter ist folgendes:
Ich habe verschiedene Animationen für den Charakter (stehend - gucken nach links/rechts, und laufen nach rechts/links).
Ich erstelle am Anfang des Spiels die figur mit nem BufferedImage welches die animation für "stehen und gucken nach rechts" enthält. Nun hatte ich mir gedacht, dass ich mit ner simplen abfrage der horizontalen Geschwindigkeit nachprüfen kann, in welche Richtung der grade guckt. Nun scheiter ich aber daran, die figur dann wieder neu zu erstellen bzw die animation zu ändern.
so werden die animationen am anfang des programms erstellt
und dann so auf die figur gelegt:
und nun hab ich versucht, die einfach so zu ändern:
Wenn ich dann den Charakter nach rechts bewege, ändert sich keine animation und der Charakter lässt sich nicht mehr stoppen und rennt voll gegen die rechte Fenster-Kante.
Irgendjemand nen Vorschlag, wie ich das richtig realisiern kann?
Muss ich die alte figur erst löschen und dann ne neue erstellen?
mfg
ich habe mir vorgenommen, ein kleines Prügelspiel im Stil von "Little Fighter 2" zu basteln. Da dies mein erstes Spiel in Java ist, wollt ich mch erstmal auf Grundfunktionen (Laufen, Schiessen, Kollisionsabfragen) beschränken.
Ich habe nach dem in diesem Forum verlinkten SPiele-Tut mit dem Helicopter gearbeitet und habe die dort verwendeten Klassen und Methoden soweit es ging, auf meinen kleinen Kämpfer abgewandelt.
Momentan verfügt der über ne Laufanimation, lässt sich steuern, und schiesst auf knopfdruck.
Woran ich scheiter ist folgendes:
Ich habe verschiedene Animationen für den Charakter (stehend - gucken nach links/rechts, und laufen nach rechts/links).
Ich erstelle am Anfang des Spiels die figur mit nem BufferedImage welches die animation für "stehen und gucken nach rechts" enthält. Nun hatte ich mir gedacht, dass ich mit ner simplen abfrage der horizontalen Geschwindigkeit nachprüfen kann, in welche Richtung der grade guckt. Nun scheiter ich aber daran, die figur dann wieder neu zu erstellen bzw die animation zu ändern.
so werden die animationen am anfang des programms erstellt
Code:
BufferedImage[] man_left = this.loadPics("images/figur_left.gif",1);
BufferedImage[] man_right = this.loadPics("images/figur_right.gif",1);
BufferedImage[] walk_left = this.loadPics("images/walk_left.gif",5);
BufferedImage[] walk_right = this.loadPics("images/walk_right.gif",5);
und dann so auf die figur gelegt:
Code:
figur = new Figur(man_right,400,300,100,this);
und nun hab ich versucht, die einfach so zu ändern:
Code:
if(figur.getHorizontalSpeed()>0){
figur = new Figur(walk_right,figur.getX(),figur.getY(),100,this);
}
Wenn ich dann den Charakter nach rechts bewege, ändert sich keine animation und der Charakter lässt sich nicht mehr stoppen und rennt voll gegen die rechte Fenster-Kante.
Irgendjemand nen Vorschlag, wie ich das richtig realisiern kann?
Muss ich die alte figur erst löschen und dann ne neue erstellen?
mfg