AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bewegungen im PongSpiel

Ein Thema von kevSTAR · begonnen am 26. Sep 2007 · letzter Beitrag vom 26. Sep 2007
Antwort Antwort
kevSTAR

Registriert seit: 5. Jun 2007
117 Beiträge
 
#1

Bewegungen im PongSpiel

  Alt 26. Sep 2007, 16:10
Hallo Leute!

Ich programmiere gerade ein Pongspiel und probiere gerade die ersten bewegungsversuche.
Ich bewege den kreis zurzeit so:

x := x + trunc(cos(-330 * pi / 180) * speed);
y := y + trunc(sin(-330 * pi / 180) * speed);

damit bewegt er sich im winkel von 330 grad.
Aber je nachdem was ich bei speed eingebe ändert sich der laufweg ein bisschen, wie ist es möglich den kreis zu bewegen ohne das es durch die geschwindigkeit des balles zu ungenauigkeiten kommen kann?
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Bewegungen im PongSpiel

  Alt 26. Sep 2007, 16:13
Zitat von kevSTAR:
wie ist es möglich den kreis zu bewegen ohne das es durch die geschwindigkeit des balles zu ungenauigkeiten kommen kann?
x und y sollten den Datentyp double erhalten.
Gerundet wird erst, wenn man den Pong zeichnet. (Round() verwenden)
Andreas
  Mit Zitat antworten Zitat
kevSTAR

Registriert seit: 5. Jun 2007
117 Beiträge
 
#3

Re: Bewegungen im PongSpiel

  Alt 26. Sep 2007, 16:49
danke, jeztt gehts!

damit ich nicht noch ein thread aufmachen muss, die nächste frage

Wenn ich nun im Timer überprüfe ob er etwas bestimmtes berührt wie kann ich den ausfallswinkel raus finden?
  Mit Zitat antworten Zitat
Torpedo

Registriert seit: 21. Dez 2003
410 Beiträge
 
#4

Re: Bewegungen im PongSpiel

  Alt 26. Sep 2007, 17:17
Zitat von kevSTAR:
danke, jeztt gehts!

damit ich nicht noch ein thread aufmachen muss, die nächste frage

Wenn ich nun im Timer überprüfe ob er etwas bestimmtes berührt wie kann ich den ausfallswinkel raus finden?
Eigentlich sind hier so die Regeln, dass pro Frage ein Thread geöffnet wird.
Aber weil die Frage nur kurz ist antworte ich einfach mal. Einfallswinkel = Ausfallswinkel.
Ich würde die Bewegung nicht mit einem Winkel machen, sondern mit einem Vektor. Damit geht das ganze viel einfacher.
Du hast dann 2 Variablen, in denen die Geschwindigkeit in x-Richtung und die Geschwindigkeit in y-Richtung gespeichert sind.
Z.B.
xs = 1
und
ys = 0.5

Jetzt bei jeder Bewegung xs zu x addieren und ys zu y.
Mit diesen Geschwindigkeiten müsste der Ball in einem 45°-Winkel nach unten rechts fliegen.

Wenn der Ball jetzt z.B. einen Pong-Schläger trifft, wird xs einfach negiert, also xs = xs * -1.
Dadurch prallt er einfach davon ab und fliegt im richtigen Winkel zurück. Wenn er oben oder unten anstößt, einfach ys negieren.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz