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

xtRm

Frischling

  • »xtRm« ist der Autor dieses Themas

Beiträge: 6

Beruf: Schüler

  • Private Nachricht senden

1

18.01.2005, 13:10

Rotation - Kollision - Reaktion

Hi,
ich bin grad dabei einen Breakout-Clone zu schreiben und steh vor dem Problem mit der Reaktion auf die Kollision. Ich dachte, wenn eine Kollision stattfindet "MyBall.angle = -MyBall.angle" machen, das geht aber nicht. Der Ball ändert dann zwar die Richtung, aber nur in der horizontalen, nie in der vertikalen. Wie muss ich das dann lösen? Hier meine Funktion zur Berechnung der Koordinaten :

Quellcode

1
2
3
4
void ball::Think() {
    this->x += sin(this->angle)*vel*(PI/180);
    this->y += -cos(this->angle)*vel*(PI/180);
}


Bin für jede Hilfe dankbar!
Signaturen braucht man erst, wenn man im Forum bekannt ist!

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

18.01.2005, 13:51

stell die geschwindigkeit als vektor dar!

1. brauchst du nur die entspr. komponente(n) zu negieren -> ball "prallt ab"

2. sparst du dir die winkelfunktionen...

xtRm

Frischling

  • »xtRm« ist der Autor dieses Themas

Beiträge: 6

Beruf: Schüler

  • Private Nachricht senden

3

18.01.2005, 22:28

Hab noch nie mit Vektoren gearbeitet :)
Ich weiß nichtmal ob SDL Vektoren unterstützt!
Signaturen braucht man erst, wenn man im Forum bekannt ist!

Dave

Alter Hase

Beiträge: 757

Wohnort: Berlin

  • Private Nachricht senden

4

19.01.2005, 13:00

tribase hat ne eigene vektorklasse.

Werbeanzeige