Hallo liebe Codergemeinde!
Ich programmiere in C++ diverse Spiele, nun versuche ich mich an einem "Breakout"-Klon, scheitere aber zusehends an einem - wahrscheinlich recht simplen - Problem.
Ich habe eine Klasse Kugel mit folgenden Attributen:
- Radius
- Position (oben Links)
- Tempo in x-Richtung
- Tempo in y-Richtung
Zudem habe ich eine Klasse Paddel (also der Schläger) mit folgenden Attributen:
- Größe in x- und y- Richtung
- Position (oben Links)
Nun möchte ich implementieren, dass die Kugel unabhängig von ihrem aufprallwinkel in einem bestimmten Winkel abpralle: In der Mitte des Paddles senkrecht und zu den Seiten hin immer weiter gegen 45° oder sowas. Ich habe mehrere Ansätze, die Vektoraddition beinhalten und natürlich Sinus und Kosinus sowie Tangens, aber bisher nur auf dem Papier, weil sie nicht erfolgversprechend sind. Nachrechnungen mit Beispielen ergeben, dass die Kugel dann beim abprallen beschleunigt/abbremst, was nicht sinn der Sache sein soll.
Könnt ihr mir einen - aus detailiert oder grob angedeutet - Ansatz schaffen, wie ich zum Ziel kommen kann?
Danke im Vorraus
Shisu
Ich programmiere in C++ diverse Spiele, nun versuche ich mich an einem "Breakout"-Klon, scheitere aber zusehends an einem - wahrscheinlich recht simplen - Problem.
Ich habe eine Klasse Kugel mit folgenden Attributen:
- Radius
- Position (oben Links)
- Tempo in x-Richtung
- Tempo in y-Richtung
Zudem habe ich eine Klasse Paddel (also der Schläger) mit folgenden Attributen:
- Größe in x- und y- Richtung
- Position (oben Links)
Nun möchte ich implementieren, dass die Kugel unabhängig von ihrem aufprallwinkel in einem bestimmten Winkel abpralle: In der Mitte des Paddles senkrecht und zu den Seiten hin immer weiter gegen 45° oder sowas. Ich habe mehrere Ansätze, die Vektoraddition beinhalten und natürlich Sinus und Kosinus sowie Tangens, aber bisher nur auf dem Papier, weil sie nicht erfolgversprechend sind. Nachrechnungen mit Beispielen ergeben, dass die Kugel dann beim abprallen beschleunigt/abbremst, was nicht sinn der Sache sein soll.
Könnt ihr mir einen - aus detailiert oder grob angedeutet - Ansatz schaffen, wie ich zum Ziel kommen kann?
Danke im Vorraus
Shisu