Guten Abend liebe Forumsmitglieder,
ich möchte ein kleines SpaceInvaders Spiel programmieren. Essentieller Bestandteil des Spiels ist es ja, dass das Raumschiff per Klick auf die Leertaste einen senkrechten Schuss nach oben abgibt.
Hier mein Problem: Ich habe leider keine Ahnung wie ich das Geschoss auf diese Weise erstellen könnte.
Ich denke, man müsste den Geschossen eine eigene Klasse geben, in der eben alle Eigenschaften, wie Textur, Höhe und Breite definiert ist.
Natürlich müsste ich auch die x/y-Koordinaten des Raumschiffes angeben, sodass sie einen Startpunkt haben.
Dann brauchen sie noch zwei Vektoren, einen für die Richtung und den anderen für die Geschwindigkeit.
Nur weiß ich nicht, wie man es so einrichtet, dass die Geschosse eben beim Klicken der Leertaste erst erstellt werden und dann sofort nach oben fliegen.
Vielen Dank im Voraus für eure Denkanstöße und Hilfen!
PS: falls es jemand sehen will, hier sind meine bisherigen Sachen zum Projekt:
Objekt einer Klasse mit Tastatur erstellen
-
- Lazarusforum e. V.
- Beiträge: 999
- Registriert: Do 17. Apr 2008, 01:59
- OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
- CPU-Target: Intel i7-10750 64Bit
- Wohnort: Freiburg
Re: Objekt einer Klasse mit Tastatur erstellen
Minits hat geschrieben:Ich denke, man müsste den Geschossen eine eigene Klasse geben, in der eben alle Eigenschaften, wie Textur, Höhe und Breite definiert ist.
Natürlich müsste ich auch die x/y-Koordinaten des Raumschiffes angeben, sodass sie einen Startpunkt haben.
Dann brauchen sie noch zwei Vektoren, einen für die Richtung und den anderen für die Geschwindigkeit.
... und das ist dann der besagte Orchestrator (vermute ich)
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.
-
- Beiträge: 6194
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Objekt einer Klasse mit Tastatur erstellen
Das Geschoss bewegst du am besten in einem Timer.
Ich habe im Anhang ein einfaches Pongspiel, hier sieht man gut, wie der Ball in einem Timer bewegt wird.
Das Pong sollte nur als Anregung, für die Steuerung sein, Schläger = Raumschif, Ball = Geschoss.
Dies wäre natürlich die sauberste Lösung, aber die Bewegung muss du immer noch mir dem Timer machen.
Die Klasse würde nur die XY-Koordinate speichern, und sich um die Darstellung der Mesh kümmern.
Ich habe im Anhang ein einfaches Pongspiel, hier sieht man gut, wie der Ball in einem Timer bewegt wird.
Das Pong sollte nur als Anregung, für die Steuerung sein, Schläger = Raumschif, Ball = Geschoss.
Ich denke, man müsste den Geschossen eine eigene Klasse geben,
Dies wäre natürlich die sauberste Lösung, aber die Bewegung muss du immer noch mir dem Timer machen.
Die Klasse würde nur die XY-Koordinate speichern, und sich um die Darstellung der Mesh kümmern.
- Dateianhänge
-
- Pong.tar.gz
- (127.06 KiB) 75-mal heruntergeladen
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot