Sto per avviare un clone di Tetris usando Java come linguaggio di programmazione. Mentre stavo progettando come sarebbe stato fatto, mi sono imbattuto in questa domanda:
Quale sarebbe meglio, se mai avessi qualche differenza, per quanto riguarda le prestazioni 1 , per disegnare il mio gioco?
Per una questione di semplicità, userò una griglia di sfondo come esempio. Il codice seguente verrà eseguito nel ciclo di aggiornamento della grafica:
1) Per eseguire il disegno usando la mia variabile graphics g
, come questa
g.setColor(Color.DARK_GRAY);
for(int x = 0; x < COL_COUNT; x++) {
for(int y = 0; y < VISIBLE_ROW_COUNT; y++) {
g.drawLine(0, y * TILE_SIZE, COL_COUNT * TILE_SIZE, y * TILE_SIZE);
g.drawLine(x * TILE_SIZE, 0, x * TILE_SIZE, VISIBLE_ROW_COUNT * TILE_SIZE);
}
}
o
2) precarica un'immagine come questa:
BufferedImage img = null;
try {
img = ImageIO.read(new File("grid.jpg"));
} catch (IOException e) {
}
e quindi usa la mia grafica per disegnarla usando Graphics drawImage :
g.drawImage(img, x, y, null)
1 - So che un gioco Tetris non è così affamato di prestazioni, ma credo che ciò non invalida la domanda.