ein wenig zu spät hier, aber man konnte es immer tun, um die Art und Weise Java-Spiel-Programmierer tun, mit einer Screen
Klasse:
public class Screen {
private int width, height;
public int[] pixels;
public Screen(int width, int height) {
this.width = width;
this.height = height;
pixels = new int[width * height];
}
public void render() {
for(int y = 0; y < height; y++) {
for(int x = 0; x < width; x++) {
pixels[x + y * width] = 0xFFFFFF; //make every pixel white
}
}
}
public void clear() {
for(int i = 0; i < pixels.length; i++) {
pixels[i] = 0; //make every pixel black
}
}
}
Und dann in der Hauptklasse:
private Screen screen;
private BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
private int[] pixels = ((DataBufferInt) image.getRaster().getDataBuffer()).getData();
public void render() {
BufferStrategy bs = getBufferStrategy();
if (bs == null) {
createBufferStrategy(3);
return;
}
screen.clear();
screen.render();
for(int i = 0; i < pixels.length; i++) {
pixels[i] = screen.pixels[i];
}
Graphics g = bs.getDrawGraphics();
g.drawImage(image, 0, 0, getWidth(), getHeight(), null);
g.dispose();
bs.show();
}
Das sollte Arbeit, denke ich.
Leider hat Java keine Methode zum Zeichnen eines einzelnen Punktes, stattdessen müssen Sie 'drawLine' mit einem Punkt für Start und Ende verwenden. –
@ExtremeCoders: Das ist schade, und fügt das nicht einen schrecklichen Overhead hinzu? Ich möchte nur in der Lage sein, große Datensätze anzuzeigen. –