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

29.05.2017, 15:37

[C++/SFML] Kollision

Guten Tag,
ich habe in einem Programm 2 verschiedenen Klassen die jeweils ein Sprite und ein paar andere Informationen enthalten. Ich erstelle in meiner Main Klasse jeweils 10 Objekte der beiden Gruppen und setzte setzte sie in Vectoren. Nun ist meine Frage: Wie kann ich die Sprite Positionen vergleichen bzw. schauen ob eine Kollision vorliegt?

LG: Niclas

@zimmer

Alter Hase

Beiträge: 1 135

Wohnort: NRW Germany

  • Private Nachricht senden

2

29.05.2017, 16:31

x und y der beiden Sprites vergleichen mit >= <= für Toleranz.

Du Brauchs aber die Toleranz für den Umkreis um nicht genau den Vector zu treffen.

Aber es gibt noch lokale vectoren wie bei personen an einer bestimmten position auf einem Schiff sitzen

und für Sound kannst Du mit Pythagoras Winkelsatz die entfernung zu FXsound Quellen berechnen.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

3

29.05.2017, 17:20

Nein, da wird nix verglichen mit Toleranz. Jedes Sprite hat eine getGlobalBounds()-Funktion, die das Rechteck für das Sprite in absoluten Koordinaten liefert und dieses Rechteck hat eine intersects()-Methode, mit der man prüfen kann, ob es mit einem anderen Rechteck überlappt.

Auch muss man in SFML überhaupt keine Distanzen für Sound-Effekts berechnen, denn SFML kennt Sound-Koordinaten und managed das dann alles selbst. (Auch wenn mir unklar ist wieso du überhaupt über das Thema redest, wenn danach gar nicht gefragt wurde. Es gibt übrigens auch keinen "Pythagoras Winkelsatz", das ist hahnebüchener Unsinn.)
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

@zimmer

Alter Hase

Beiträge: 1 135

Wohnort: NRW Germany

  • Private Nachricht senden

4

29.05.2017, 17:47

Das Thema hat mich irgendwie neugierig gemacht. Hätte ich mal erst in die Sprache reingeschaut, ich war echt überzeugt dass, es eine Theoretische Frage ist.
Ich meinte den Satz des Pythagoras a²+b²=c² sorry.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

5

29.05.2017, 17:55

SFML ist keine Sprache. Bitte, bitte antworte nicht mehr in Dingen, die du nicht verstehst. Das ist echt anstrengend.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige