Pong Game - Spieler Kollision
Übersicht

![]() |
GearTechDEehemals 'KillerJo96'Betreff: Pong Game - Spieler Kollision |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Freunde,
Ich bin gerade dabei ein kleines Pong Game zu programmieren. Da ich mir doch bewusst geworden bin, das 3D und UDP noch was zu schwer für mich ist, habe ich mich dazu entschlossen. Ich habe sogar auch schon die ersten Probleme... Und zwar: Ich habe bei meinem Pong Game schon die Grundstruktur gebastelt und es beinhaltet bis jetzt folgende Funktionen: ![]() ![]() Was noch kommen soll und Probleme: ![]() ![]() Hier mein Code; BlitzBasic: [AUSKLAPPEN]
Danke im Voraus. MFG Killerjo96 |
||
Mit freundlichen Grüßen: GearTechDE |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schräg laufen lassen
am besten fügst Du für "BallX" genau die gleichen Zeilen ein, die Du schon für "BallY" im Code stehen hast. das bedeutet, du brauchst neben der BallSpeed auch zwei unterschiedliche Teilkomponoenten BallSpeedX und BallSpeedY. Die Variable BallRichtung würde ich nicht nur auf 0 oder 1 beschränken, sondern alle 360° zulassen. Aus BallSpeed und BallRichung kannst Du dann mit SINUS und COSINUS die beiden Anteile BallSpeedX und BallSpeedY errechnen. Da läuft derzeit ein anderes Them, das genau zu deinen Fragen passt: https://www.blitzforum.de/foru...hp?t=37292 Dort wird auch genau erklärt wie der Ball an den Banden oder Schläger umzukehren hat. Es ist nur nötig den Winkel BallRichtung neu zu bestimmen Kollision mit Schläger das hast du eigentlich schon gelöst. Nämlich bei der Kollision mit dem Rand. Mit den Schläger geht das genauso. Allerdings musst Du nicht nur BallY mit 460 vergleichen, sondern den Ball mit dem rechteckigen Bereich um den Schläger vergleichen: BlitzBasic: [AUSKLAPPEN] If ( BallX > PlayerX1 - 5 ) And ( BallX < PlayerX1 +60 + 5) was in deinem Code stört sind die vielen Zahlen. Gewöhne dir an, diese fixen Zahlen immer durch Variable oder Constanten zu ersetzen: BlitzBasic: [AUSKLAPPEN] If ( BallX > PlayerX1 - BallRadius ) And ( BallX < PlayerX1 +SchlaegerBreite + BallRadius) |
||
![]() |
GearTechDEehemals 'KillerJo96' |
![]() Antworten mit Zitat ![]() |
---|---|---|
ok danke.. | ||
Mit freundlichen Grüßen: GearTechDE |
![]() |
GearTechDEehemals 'KillerJo96' |
![]() Antworten mit Zitat ![]() |
---|---|---|
ok danke für die hilfe werds mal probieren
Edit: Sorry für den Doppelpost, habe internet probleme |
||
Mit freundlichen Grüßen: GearTechDE |
- Zuletzt bearbeitet von GearTechDE am So, Jun 19, 2011 20:36, insgesamt einmal bearbeitet
PhillipK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Meld dich wieder, falls du etwas nicht verstehst oder etwas genauer erklärt haben willst.
Es bringt dir nichts, wenn du etwas abschreibst, ohne die Logik dahinter zu verstehen. Dh wenn du dir zb bei den Cos() und Sin() berechnungen unsicher bist, was dort passiert, frage lieber einmal mehr nach, wie es einfach nicht zu lernen ![]() Wir reißen hier niemanden den Kopf ab ![]() Gruß, Phillipk |
||
![]() |
GearTechDEehemals 'KillerJo96' |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke Philip ... hat mir ein wenig mehr Mut gegeben mehr zu Posten anstatt selbst irgendwas auszudenken, was was sein könnte.
MFG Killerjo96 |
||
Mit freundlichen Grüßen: GearTechDE |
PhillipK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also grundsätzlich befürworte ich es, wenn jemand sich selbst gedanken macht.
Aber wenn das nicht klappt, gibts immernohc das forum hier. Ich frag auch immer ziemlich Banale sachen nach, wenn ichs einfach nicht besser weiß. Das ist okay, solange man sich selbst gedanken macht und nicht einfach ankommt mit.. "ich möchte ein programm, was das und das macht. Kann mir das jemand schreiben?" -> Falsch. "Ich habe versucht, das und das und das zu machen, aber ich komme nicht weiter. Ich habe einen seltsamen fehler, aber weiß nicht genau, wodurch das passiert. Hier mein testprogramm: *programmquellcode*" -> richtig ![]() Solange man von niemanden erwartet, das die einem die ganze arbeit abnehmen, ist es durchaus richtig ein wenig nach Hilfestellung oder Ansätzen zu fragen - die arbeit allerdings liegt bei jedem selbst, der etwas haben möchte! |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group