Ich habe eine Klasse gemacht, mit dem man einzelne Pixel einzeln bemalen kann...
Ich habe auch ein layer System, mit dem man z.B. Figuren an über und einander vorbeibewegen kann.
Wie kann ich das schneller und effektiver machen, da man oft nur 0.25fps haben kann?
Er geht jede Klasse Pixel im array durch und sagt ihr, zu malen.
ich habe auch gehört, dass man alles lieber @overide paintComponent von panel nehmen sollte, da es auch alles neu malt, wenn ich das Fenster schließe und wieder öffne, doch wie geht das hiermit am besten?
Ich habe auch ein layer System, mit dem man z.B. Figuren an über und einander vorbeibewegen kann.
Wie kann ich das schneller und effektiver machen, da man oft nur 0.25fps haben kann?
Java:
for(int i = 0; i < yM; i++) {
for(int j = 0; j < xM; j++) {
//pixel[i][j][0].clear();
for(int k = firstLayer; k < lastLayer; k++) {
if(visible) pixel[i][j][k].draw();
}
}
}
Code:
public Pixel(int x, int y, int size, JPanel panel) {
this.panel = panel;
g = panel.getGraphics();
outline = panel.getGraphics();
this.x = x;
this.y = y;
this.size = size;
//System.out.println("new pixel");
}
public void setBounds(int x, int y, int size) {
this.x = x;
this.y = y;
this.size = size;
}
public void draw() {
if(color != null) {
g.fillRect((int) ((x*increase)+offset.x), (int) ((y*increase)+offset.y), (int) (size*increase), (int) (size*increase));
}
if(showOutline) {
outline.drawRect((int) ((x*increase)+offset.x), (int) ((y*increase)+offset.y), (int) (size*increase), (int) (size*increase));
}
}