Wie der Titel schon sagt, ich hab das problem das ich auf ein applet zeichnen muss un das ganze entweder wahnsinnig stottert wenn bewegung rein kommt, oder das manche dinge unter anderen gezeichnet werden obwohl das (aus meiner sicht) nicht möglich wäre.
zur erklärung, es is ein applet das eine karte, ovale und ein bewegliches objekt zeichnen soll.
die ovale werd ich weiter als radar bezeichnen, das bewegliche objekt als heli ;-)
Das problem im detail:
Ich initialisiere mein applet, lasse den constructor alle nötigen kleinigkeiten rein schmeißen... un dann sollte eig. die paint(Graphics g) methode anspringen und
karte
radare
heli
zeichnen... in der reihenfolge.
Nun passierts aber das entweder mal die radare und der heli unter der karte landen, mal nur die radare erscheinen und mal nur die karte da ist...
dazu mal passend der betreffende code:
Das ganze wird nie von mir angerufen sondern ich lasse anrufen...
Was scheinbar das problem ist, es wird jedesmal die map über die radarfelder gezeichnet.
Wie verhindere ich das die paint methode so oft aufgerufen wird bzw. das das ganze feld neu gezeichnet wird?
zur erklärung, es is ein applet das eine karte, ovale und ein bewegliches objekt zeichnen soll.
die ovale werd ich weiter als radar bezeichnen, das bewegliche objekt als heli ;-)
Das problem im detail:
Ich initialisiere mein applet, lasse den constructor alle nötigen kleinigkeiten rein schmeißen... un dann sollte eig. die paint(Graphics g) methode anspringen und
karte
radare
heli
zeichnen... in der reihenfolge.
Nun passierts aber das entweder mal die radare und der heli unter der karte landen, mal nur die radare erscheinen und mal nur die karte da ist...
dazu mal passend der betreffende code:
Code:
public void paint(Graphics g)
{
this.g = (Graphics2D)g;
Graphics2D g2 = (Graphics2D)g;
g.drawImage( imgMap, 0, 0, this ); //imgMap = pfad zur png datei
deleteHeli(); //löscht den heli, falls vorhanden und zeichnet automatisch einen neuen (an neue position)
if(firstTime) //firstTime = soll nur einmal gezeichnet werden
{
paintRadar(); //zeichnet die radare
firstTime = false;
}
}
Das ganze wird nie von mir angerufen sondern ich lasse anrufen...
Was scheinbar das problem ist, es wird jedesmal die map über die radarfelder gezeichnet.
Wie verhindere ich das die paint methode so oft aufgerufen wird bzw. das das ganze feld neu gezeichnet wird?
Zuletzt bearbeitet: