Hallo zusammen,
ich arbeite gerade an einem "kleinen" HTML5-canvas-Projekt, um ein Bisschen Übung beim Umgang mit dem canvas-Element zu bekommen...
Inzwischen ist dieses "kleine" Projekt ziemlich ausufernd geworden, sodass ein simples Spiel daraus geworden ist...
Dafür habe ich mehrere "Elemente" definiert:
Das is ganz praktisch, da ich dann einfach z.B. per elem1.x auf den Wert zugreifen kann...
Mein Problem ist jetzt aber, dass ich ca. 20 dieser Elemente habe.
Wenn ich jetzt einen Schuss auf ein beliebiges Objekt verarbeiten will, muss ich das für alle Objekte einzeln schreiben, d.h. 20 if-Schleifen...
Wie wir alle wissen
ist unnötig großer Quellcode extrem lästig, deshalb dachte ich, es müsste doch möglich sein, diesen Elementen eine Klasse (z.B.) zuzuweisen...
Die Verarbeitung davon wäre dann ungefähr:
Könntet ihr mir, falls es sowas gibt, einen Vorschlag schreiben, wie ich diese Klasse machen kann und wie dann die Verarbeitung aussehen könnte?
Schonmal im Voraus vielen Dank für Eure Mühe & Zeit
Liebe Grüße
GamerXy1
ich arbeite gerade an einem "kleinen" HTML5-canvas-Projekt, um ein Bisschen Übung beim Umgang mit dem canvas-Element zu bekommen...
Inzwischen ist dieses "kleine" Projekt ziemlich ausufernd geworden, sodass ein simples Spiel daraus geworden ist...
Dafür habe ich mehrere "Elemente" definiert:
Code:
var elem1 = {
x: 0,
y: 0,
actv: false};
var elem2 = {
x: 0,
y: 0,
actv: false};
Das is ganz praktisch, da ich dann einfach z.B. per elem1.x auf den Wert zugreifen kann...
Mein Problem ist jetzt aber, dass ich ca. 20 dieser Elemente habe.
Wenn ich jetzt einen Schuss auf ein beliebiges Objekt verarbeiten will, muss ich das für alle Objekte einzeln schreiben, d.h. 20 if-Schleifen...
Wie wir alle wissen
Die Verarbeitung davon wäre dann ungefähr:
Code:
if(Klasse-Schuss-Objekt trifft Klasse-Gebäude-Objekt){
deaktiviere DIESES Schusselement
Neuer Leben-Wert DIESES Gebäude-Objekts = Gebäude.Lebenbisher - DIESERSchuss.Schaden
}
Könntet ihr mir, falls es sowas gibt, einen Vorschlag schreiben, wie ich diese Klasse machen kann und wie dann die Verarbeitung aussehen könnte?
Schonmal im Voraus vielen Dank für Eure Mühe & Zeit
Liebe Grüße
GamerXy1