Hallo!
Da das ständige skalieren der Bilder bei vielen Objekten mittlweile kleinere Grafikfehler verursacht (flimmern usw), wollte ich diesen Prozess auslagern und in einem Array die verschieden gestreckten Bilder speichern.
Immoment sieht das ganze so aus:
Wie zu sehen ist wird das bild in der letzten Zeile auf die neue Höhe und Breite angepasst, nur ist das wohl bei vielen Objekten zu häufig, also wollte ich alles in einem Array speichern und dann nurnoch das entsprechend schon gestreckte Bild laden. (z.B. g2.drawImage(image[0], x,y,null) )
Nur wie gehe ich das an? Was für einen Typ müsste das Array haben? ???:L
Danke schonmal für eure Hilfe
Da das ständige skalieren der Bilder bei vielen Objekten mittlweile kleinere Grafikfehler verursacht (flimmern usw), wollte ich diesen Prozess auslagern und in einem Array die verschieden gestreckten Bilder speichern.
Immoment sieht das ganze so aus:
Java:
public void drawObjects(Graphics g) {
Graphics2D g2 = (Graphics2D)g;
int newW = (int)(image.getWidth() * scalefactor * parent.getZoomfactor());
int newH = (int)(image.getHeight() * scalefactor * parent.getZoomfactor());
g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR );
//Abstand X tile und player
double xdistance = this.x - parent.p.getX();
double xChange = xdistance * (1-parent.getZoomfactor());
double ydistance = this.y - parent.p.getY();
double yChange = ydistance * (1-parent.getZoomfactor());
double newx = Math.round(x- newW/2 -scrollx - xChange);
double newy = Math.round(y- newH/2 -scrolly -yChange);
g2.drawImage(image, (int)newx, (int)newy, newW, newH, null);
}
Wie zu sehen ist wird das bild in der letzten Zeile auf die neue Höhe und Breite angepasst, nur ist das wohl bei vielen Objekten zu häufig, also wollte ich alles in einem Array speichern und dann nurnoch das entsprechend schon gestreckte Bild laden. (z.B. g2.drawImage(image[0], x,y,null) )
Nur wie gehe ich das an? Was für einen Typ müsste das Array haben? ???:L
Danke schonmal für eure Hilfe