Hi Leute,
ich möchte gerne ein Spiel als Applet programmieren, dabei sind mir einige Möglichkeiten zur Performance-Steigerung eingefallen. Allerdings bin ich mir nicht sicher, ob dies wirklich geschieht...
Punkt 1: clipping
Da der größte Teil des Applets während des Spiels nahezu unverändert bleibt, kam mir die Idee das Clipping des Graphics Klasse (g.setClip(x,y,width,height)) zu verwenden. Allerdings soll das Clipping bei mehreren Sprites angewandt werden, so dass das Applet also mehrmals mit der Clipping-Beschränkung gezeichnet wird. Bremst dies nicht die Performance, wenn ich das Applet also mehrere Mal beschränkt anstatt ein Mal komplett zeichne? Gibt es vielleicht eine Möglichkeit, mehrere Clipping-Rechtecke gleichzeitig zu setzen?
Punkt 2: Kollisionsabfrage
Der Spieler soll ein Leben verlieren, wenn er gegen einen Gegner läuft. Dabei wird bei mir momentan jeden Bruchteil einer Sekunde die Positionen der Sprites überprüft. Gibt es eventuell noch eine weitere, schnellere Methode (beispielsweise über Listener - oder macht ein Listener genau dasselbe wie oben beschrieben?)
Ich wäre euch sehr dankbar, wenn ihr mich aufklären könntet.
Danke,
Dirt Devil
ich möchte gerne ein Spiel als Applet programmieren, dabei sind mir einige Möglichkeiten zur Performance-Steigerung eingefallen. Allerdings bin ich mir nicht sicher, ob dies wirklich geschieht...
Punkt 1: clipping
Da der größte Teil des Applets während des Spiels nahezu unverändert bleibt, kam mir die Idee das Clipping des Graphics Klasse (g.setClip(x,y,width,height)) zu verwenden. Allerdings soll das Clipping bei mehreren Sprites angewandt werden, so dass das Applet also mehrmals mit der Clipping-Beschränkung gezeichnet wird. Bremst dies nicht die Performance, wenn ich das Applet also mehrere Mal beschränkt anstatt ein Mal komplett zeichne? Gibt es vielleicht eine Möglichkeit, mehrere Clipping-Rechtecke gleichzeitig zu setzen?
Punkt 2: Kollisionsabfrage
Der Spieler soll ein Leben verlieren, wenn er gegen einen Gegner läuft. Dabei wird bei mir momentan jeden Bruchteil einer Sekunde die Positionen der Sprites überprüft. Gibt es eventuell noch eine weitere, schnellere Methode (beispielsweise über Listener - oder macht ein Listener genau dasselbe wie oben beschrieben?)
Ich wäre euch sehr dankbar, wenn ihr mich aufklären könntet.
Danke,
Dirt Devil