Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

13.01.2006, 20:31

Spiel aus dem Buch abgeändert, funzt aber nicht

Ich will das Spiel aus Kapitel 12 als Übung etwas abändern, habe aber schon gleich beim ersten Schritt ein Problem:

Ich lasse die Asteroiden anstatt von oben nach unten von links nach rechts über den Bildschirm fliegen. Allerdings funktioniert jetzt die Kollisionsabfrage mit den Schüssen nicht mehr.

Wenn ich die Ausführungen im Buch richtig verstanden habe, wird geprüft, ob sich die beiden Sprites überschneiden, da dürfte es doch keine Rolle spielen, aus welchen Richtungen die Sprites kommen?

Ich hab auch verschiedene Kombinationen ausprobiert, aber nicht hat geklappt.

Im Voraus vielen Dank für eure Hilfe

2

14.01.2006, 12:02

Bitte Code mitposten :huhu:

mfg Markus

3

14.01.2006, 12:54

Der Code sieht so aus:

C-/C++-Quelltext

1
2
3
4
RectShot.x < RectAsteroid.x + RectAsteroid.w &&
RectShot.x + RectShot.w > RectAsteroid.x &&
RectShot.y < RectAsteroid.y + RectAsteroid.h &&
RectShot.y + RectShot.h > RectAsteroid.y


Es soll hier geprüft werden, ob sich die beiden Rects sowohl auf der X- als auch auf der Y-Achse schneiden, dann soll der Asteroid gelöscht werden.
Es funzt aber nur, wenn die Asteroiden von oben nach unten fliegen, nicht wenn sie von links nach rechts fliegen.

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

4

21.01.2006, 00:24

Das ist die If-Abfrage oder? Die sieht ziemlich richtig aus, ich denke mal du hast irgendwas anderes umgestellt, dass es jetzt nicht mehr klappt.. die Maße von den Sprites zB

Anonymous

unregistriert

5

21.01.2006, 12:55

Die Maße von den Sprites werden doch nachdem die Sprites in den RAM geladen wurden automatisch gesetzt. Wieso sollten die also nicht stimmen

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

6

21.01.2006, 13:34

könnte mir vorstellen, dass sie versehentlich nachträglich geändert werden, denn sonst könnte ich mir nicht vorstellen warum das nicht klappt mit dieser if abfrage. oder es ist noch irgendwas anderes im busche, aber das da oben sieht egtl ok aus.

7

22.01.2006, 16:43

Ich hab den Fehler gefunden:
Im Spiel wurde nur die Y-Achse des Rects aktualisiert (da ja auch nur sie verändert wurde).
Nachdem ich das jetzt umgeschrieben habe, damit auch die X-Achse des Rects aktualisiert wird, klappts.

Werbeanzeige