graphics klonen ?

Status
Nicht offen für weitere Antworten.

bo

Aktives Mitglied
hallo !

ich bin gerade an nem game proggen, nun möchte ich dass der hintergrund ( diverse bilder ) immer derselbe bleibt ohne dass es ihn immer wieder neu muss zeichnen.
geht das ? ich dachte daran immer wieder zu klonen aber das funktioniert nicht !

hier miene update methode :
Code:
 public void update( Graphics g )
    {    	
    	//Double-Buffer initialisieren
    	if ( _image == null )
    	{
    		_image = createImage( this.getSize().width, this.getSize().height );
    		_graphics = _image.getGraphics();
 //_backgroundGraphics = _image.getGraphics();    // geht eben nicht ganz auf !
    		paintBackground( _backgroundGraphics );
    	}
    	
    	//Hintergrund löschen
    	_graphics.setColor( getBackground() );
    	_graphics.fillRect( 0, 0, this.getSize().width, this.getSize().height );
    	//Vordergrund zeichnen
    	_graphics.setColor( getForeground() );
    	paint( _graphics );
    	//Offscreen anzeigen
    	g.drawImage( _image, 0, 0, this );
    }

bin für jeden rat froh...

danke schon mal..

greeez bo
 
Du kannst diese mehreren Bild zu einem Bild zusammenfassen, aber schlussendlich musst du immer mit dem aktuellen Graphics-Objekt zeichnen.

Also sowas meine ich mit Zusammenfassen:
Code:
BufferedImage background = new ...
Graphics graphics = background.createGraphics();
graphics.drawImage( ... );
graphics.drawImage( ... );


Und danach ganz normal zeichnen:
Code:
public void paint( Graphics g ){
  g.drawImage( background, ... );
  ... // andere Zeichen
}
 
danke für die schnelle antwort !

hab ich jetzt so gemacht, leider flackert das bild durch das wieder mehr ...
 
Du erbst von Canvas?
Sorry, dann ist deine erste Variante, mit "update" und nicht mit "paint" wohl besser.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben