![]() |
Sinus...oder Pong die 2.
Hideliho,
bastel auch ein Pong - gab bis jetzt keine Probleme. ABER... Der Ball hat bei Abprallen immer den gleichen Winkel (Ich arbeite mit mit einer X- und Y-Achse sowie die Geschwindikeit für die X- und Y-Achse, welche mit der Funktion Abs negiert werden). Ich habe hier im Forum was von Sinus etc. gelesen und verstehe es nicht (und kann es deswegen natürlich nicht anwenden...). Kann mir jemand helfen? Ich würde gerne einen anderen Winkel haben, der aber trotzdem physikalisch "wirkt". Greetings :( :( :( |
Heisst das, dass der Ball schräg auf die Bande trifft und dann in eine andere Richtung abgelenkt werden soll?
Dann gilt: Einfallswinkel=Aussfallswinkel also Einfallswinkel+180 MFG Thomas |
Jaja, schon klar.
Aber wie mache ich das mit den Winkeln? Ich habe doch gar keine, nur Koordinaten!? |
Du musst die Koordinaten nacheinander berechenen.
Mit dem Sinussatz. |
???
Ich wäre Code-Beispielen nicht abgeneigt... |
Hier ist das vollständige Pong-Spiel in Delphi:
![]() Hier noch ein Thread zum Thema "Bande": ![]() |
Ich denke das Problem liegt beim Sinus, denn so wie ich das sehe, weiß er nicht was das ist (sorry, wenn das nicht so ist)...
Chris PS: Mir geht's übrigens genauso... |
Liste der Anhänge anzeigen (Anzahl: 1)
Den Code hatte ich schon und den Thread auch gelesen.
Ich glaube ihr versteht meine umständlich gestellte Frage nicht... Ich hab mal ein Bild gemalt. Wenn der Winkel immer gleich bleibt, kann sich dadurch kein Spiel entwickeln, da der Ball immer die gleiche Bahn hat. Deshalb dachte ich, man könnte mit dem Sinus bzw. Kosinus den Winkel ändern und einen gewissen Zufallsraum einbauen. Greetings Anmerkung: Mir geht es um das Beispiel von d3g wonach dx := vx * round(cos(winkel * Pi / 180) * r) ist. Falls dies mein Problem lösen sollte (zufälliger Winkel), würde ich mich über eine Doku sehr freuen... |
Hideliho,
anscheinend weiß immer noch keiner was ich will... :roll: Also, mein Problem sieht wie folgend aus: ![]() Der Ball hat immer die gleiche Position! Bitte helft! Was muss ich ändern? Greetings |
Hallo, wie du den richtigen Winkel berechnest weißt du ja, also dürfte es doch kein Problem sein diesen ein bisschen (per random oder sonstwie) zu verändern. Du kannst ja beim Aufprall auf einen deiner Balken überprüfen, an welcher Stelle des Balkens der Ball sich befindet und dann den Winkel zb so angeben, dass der Ball vom linken Teil des Balkens etwas steiler als er eigentlich sollte, vom rechten Teil etwas flacher und in der Mitte so wie du es jetzt hast abprallt. Oder du nutzt einfach, wie schon gesagt die random Funktion:
Code:
Gruß, Sebastian
winkel := winkel + (random(11)-5); //winkel um +/- 5 variieren
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz