Java Objekt als Bild anzeigen lassen

Aixx

Ensign
Registriert
Sep. 2011
Beiträge
239
Nabend Leute,

Zur Zeit bastel ich an einem Rennspiel, bei dem einfach 3 rechteckige Objekte durch Tastendruck sich von links nach rechts bewegen.
Nun scheiter ich daran, diesen Objekten z.B. eine Miniaturansicht einer JPG Datei zuzuweisen... Gibt es da eine relativ einfache Funktion dies umzusetzen ?

Zusätzlich würde ich beim überfahren der Ziellinie ( Wenn auf der X Achse bestimmte Stelle erreicht ist ) gerne den Text oder ein extra Fenster einblenden lassen, welches mir den Sieger anzeigt.

Autoklasse sieht zur Zeit so aus :

Code:
public class Auto implements Runnable
{ int speed, position;
  Thread t;
  Color farbe;

// Farbe, Speed und Position initalisieren
  public Auto(Color neueFarbe)
  { speed=position =0;
    farbe = neueFarbe;
  }

  public void beschleunigen(int zuwachs)
  { speed=speed+zuwachs;
  }

  public void start()
  { 
    t = new Thread(this);
    t.start();
   }

  public void stop()
  { t.stop();
   }

  public void reset()
  { speed = 0;
    position= 0;
   }

  public int getPosition()
  { return position;
  }

  public Color getColor()
  { return farbe;
  }
  public void run()
  { while (true)
    { position = speed + position;
      try
      { Thread.sleep(100);
      }
      catch (InterruptedException e){
      { return;
      }
    }
  }
}
}

Zusätzlich die Positionen usw.

Code:
  public void zeichnen(Graphics g)
  { 
    g.setColor(Color.BLACK);
    g.drawLine(350,0,350,400);
    g.setColor(auto1.getColor());
    g.fillRect(auto1.getPosition(),30,20,20);
    g.setColor(auto2.getColor());
    g.fillRect(auto2.getPosition(),60,20,20);
    g.setColor(auto3.getColor());
    g.fillRect(auto3.getPosition(),90,20,20);
  }

Hoffe das es dafür ne einfache Lösung gibt :rolleyes:
 
Das geht mit g.drawImage().
Ein Bild kannst du vorher mit ImageIO.read() laden.

Es ist übrigens keine gute Idee, jedes Auto als Thread laufen zu lassen. Bei Spielen hast du in der Regel einen Thread, in dem du alles nacheinander abarbeitest. Also dort erst Tastatureingaben auslesen, dann neue Positionen etc berechnen und am Ende zeichnen.
 
Danke für deine Hilfe. Werd mal gleich versuchen es umzusetzen und melde mich wieder.
 
Zurück
Oben