Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Cyianor Super JLI'ler

Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 14.08.2003, 11:48 Titel: Ballphysik |
|
|
Hi,
ich mach gerade einen kleinen Pongklon und bin gerade dabei die Ballphysik zu machen, aber leider hab ich keine Ahnung wie ich das realisieren soll, kann mir da jemand helfen??? |
|
Nach oben |
|
 |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 14.08.2003, 11:59 Titel: |
|
|
Das ist doch einfach eine normale Bouncing-Sache, oder?
da würde ich das so machen:
x +=xstep;
y +=ystep;
if (hitsomethin on the x-axis) xstep *= -1;
if (hitsomethin on the y-axis) ystep *= -1;
x,y sind die Koordinaten des Balls
xstep und ystep ist das Schrittmaß welches du pro Frame nehmen willst, ich glaub da kannst du ruhig 1 nehmen, naja kommt auf die Framerate an.
EDIT:
Das kurze Tut war zwar für Flash, aber du solltest das locker mit C++ umsetzen können: www.newevolution.de/tut.swf _________________ The source of all power is in its destiny...
Zuletzt bearbeitet von TheMillenium am 14.08.2003, 12:11, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 14.08.2003, 12:02 Titel: |
|
|
Da würde ich am besten mal die einfachste Physik nehmen: "Einfallswinkel=Ausfallswinkel"
D.h. in dem Winkel, in dem der Ball auf ein Hindernis trifft, prallt er auch wieder davon ab.
Das geht am einfachsten bei Hindernissen mit geraden Flächen. Wenn diese Flächen auch noch Parallel zur X- oder Y-Achse liegen, geht es am einfachsten. Du kehrst einfach die entsprechenden "Richtungsgeschwindigkeiten" um.
Wenn der Ball sich anfangs 3 Pixel nach rechts und 2 Pixel nach unten bewegt, dann bewegt er sich nachher(wenn er auf ein Hindernis unten trifft)3 Pixel nach rechts und -2 Pixel nach unten(d.h. 2 Pixel nach oben)
<edit>
Mist, da war einer schneller
</edit> _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
 |
Cyianor Super JLI'ler

Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 19.08.2003, 19:08 Titel: |
|
|
ok, das klappt jetzt eigentlich schon...fast...
Das Problem ist das wenn der Ball von rechts oder links kommt es ja auch reicht wenn ich die x-Achse umdrehe. Die Kollisionserkennnung is ja dabei die selbe wie im Buch, aber wie erkenne ich jetzt das der Ball von oben oder unten an den Schläger prallt???? |
|
Nach oben |
|
 |
Hazel JLI MVP


Alter: 40 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 19.08.2003, 19:12 Titel: |
|
|
Code: |
if collision with paddle then
if y_velocity > 0 then
hit on top
else
hit on bottom
|
_________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
 |
Cyianor Super JLI'ler

Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 20.08.2003, 08:15 Titel: |
|
|
was is y_velocity???? |
|
Nach oben |
|
 |
Hasenfuß Senior JLI'ler

Alter: 37 Anmeldedatum: 20.08.2002 Beiträge: 291
Medaillen: Keine
|
Verfasst am: 20.08.2003, 08:37 Titel: |
|
|
Das ist der Wert mit dem der Ball auf der y-achse bewegt wird,(nehm ich zumindest stark an) in der Spielschleife muss dann irgendwo sowas stehn: Ball.MoveY(y_velocity) wenn jetzt das ding negativ ist, bewegt sich der ball nach oben, wenns positiv ist nach unten. Je nachdem musste dann abprallen lassen. |
|
Nach oben |
|
 |
Cyianor Super JLI'ler

Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 20.08.2003, 08:51 Titel: |
|
|
aso, jetzt hab ich des Verstanden
thx |
|
Nach oben |
|
 |
Hazel JLI MVP


Alter: 40 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 20.08.2003, 09:03 Titel: |
|
|
Velocity ist Englisch für Geschwindigkeit...
http://dict.leo.org/ <-- das ist eine der wichtigsten Seiten im Netz; sollte man Bookmarken. ;) _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
 |
Cyianor Super JLI'ler

Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 22.08.2003, 16:37 Titel: |
|
|
Hehe, ja ist schon praktisch. |
|
Nach oben |
|
 |
|