Processing 2D Shooter?

2 Antworten

(...) habe iergendwie null ahnung von Processing (...)

Na dann wird es mal Zeit, dass du dich näher damit auseinandersetzt. Das wird für die weitere Umsetzung deines Projektes einfach notwendig sein und so schwierig ist Processing auch nicht.

(...) aber wie mach ich es das wenn ich die Leertaste drücke Kugel vom objekt aus los fliegen (...)

Du solltest dir zuerst eine Klasse suchen, die einen Punkt beschreiben kann. PVector bietet sich an. Bei Druck der Leertaste wird ein neues Objekt dieser Klasse erstellt und deren Position auf die des Spielers gesetzt (bzw. auf ihren Startpunkt). Folgend müsstest du nun einmal entscheiden, ob du nur eine Kugel auf einmal erlaubst oder mehrere. Im ersteren Fall reicht es, den Vektor in einer globalen Variable zu speichern, im letzteren Fall in einem globalen Array. Wenn das Array bereits voll ist (oder bei nur einer Kugel die dazugehörige Variable nicht auf null zeigt), kann kein neuer Schuss generiert werden.

In jedem draw-call kannst du nun (sofern es Kugeln/eine Kugel gibt) die y-Position um ein paar Schritte verändern und danach einen Kreis an der gewünschten Stelle zeichnen lassen. Sind es mehrere Kugeln, läufst du mit einer Schleife halt über das Array und nimmst die Aktionen für jede Kugel darin vor. Zusätzlich müssten nur noch 2 Kollisionen geprüft werden: Die Kollision mit einem anderen Objekt (z.B. einem Gegner) sowie die Kollision mit dem Bildschirmrand. In jedem Fall wird das Objekt gelöscht (auf null gesetzt).

Le543 
Fragesteller
 19.05.2018, 12:15

Danke für deine Antwort XD Ich habe es jetzt schon geschafft eine klasse zu erstellen die Bullet heißt und eine Bullet immer an der Position von meinem Spieler erzeugt nur das Problem ist jetzt noch das er es ja immer an die stelle von dem Spieler setzt aber die Kugel soll sich ja nur am anfang an die Position halten und sich dann davon fort bewegen.

0

Also ich bin eher Anfänger, da du ja aber keinen Code brauchst sondern eher den Anreiz der Umsetzung denke ich kann ich dir trotzdem helfen, also an sich müsstest du dir ja nur die x und y posi vom spieler oder waffe holen und den schuss dann von dort, bis aus dem Screen raus oder halt bis zum gewünschten entpunkt mit einer for Schleife durch laufen lassen, also das der Schuss auf dem selben X wie der Spieler anfängt aber mit der For Schleife sich das Y halt weiter nach oben bewegt, hoffe war relativ verständlich, gutes Gelingen und Liebe Grüße ;)

*Bearbeitet: Und für die Leertaste brauchst du den KeyManager

regex9  18.05.2018, 23:41
Und für die Leertaste brauchst du den KeyManager

Nein. Processing hat für das Key-Event-Handling seine eigene Funktionen, welche genutzt werden sollten.

https://processing.org/reference/keyPressed_.html

Mit einer for-Schleife wird auch die Bewegung der Kugel nicht umgesetzt.

0