Hallo , ich programmiere ein Spiel und wollte mal die Profis fragen ob man das untere noch performanter machen kann
Ohne Alpha ( laden einer PNG ) zeichnet er extrem schnell , aber Alpha ist extrem wichtig , da die Felder 16x16 sind und die Sprites 16x32. Einige Sprites wie Berge enthalten Informationen die über das obere Feld gezeichnet werden müssen...
Code:
public void starte_takt(){
takt = 0;
...
// Diese Schleife läuft solange das Spiel nicht beendet wurde
while (true){
System.out.println(takt); // Tester um die geschwindigkeit zu sehen
// SPIELMETHODEN
// Runde für Spieler starten
...
// <-- ENDE SPIELMETHODEN
// GRAFIKMETHODEN
Farbbild grafik_komplett = new Farbbild(16*spielfeldgroeße_x,16*spielfeldgroeße_y);
Graphics gp = grafik_komplett.createGraphics();
for( int x = 0 ; x < spielfeldgroeße_x ; x++ ){
for( int y = 0 ; y < spielfeldgroeße_y ; y++ ){
gp.drawImage(sprites[1][0],(x*16) ,(y*16)-16 , null ); // Sprite[1][0] beinhaltet ein 16x32 Sprite (von einer .png) mit AlphaChannel
}
}
fenster.setze_grafik(grafik_komplett);
// <-- ENDE GRAFIKMETHODEN
try{Thread.sleep (1);}
catch (InterruptedException ex){} // Geprüfte Exception
Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
takt = takt%7 + 1; // Der aktuelle Takt ( akt. 32er Takt )
}
}
Ohne Alpha ( laden einer PNG ) zeichnet er extrem schnell , aber Alpha ist extrem wichtig , da die Felder 16x16 sind und die Sprites 16x32. Einige Sprites wie Berge enthalten Informationen die über das obere Feld gezeichnet werden müssen...