Ball soll sich um x Grad bewegen ? Wie lös ich das in Punkten ???



  • Hi,

    ich code grad ein ganz simples pinnball spiel wo der ball links und rechts gegen eine wand prallt und um 90° in Fallrichtung zurückgeschoben wird.
    Ich steuere aber im Programm ja nur x und y punkte an. Kommazahlen sind nicht.
    Wie kann ich denn da nun mit Gradzahlen rechnen ????

    Sprich 90 Grad wären 1 hoch 1 rechts aber wie mach ich das ganze bei z.b. 35° ??? danke



  • hi,
    nimm den sinus des winkels (gugg aber vorher nach, wie der sinus aus der stl rechnet.. bei delphi rechnet der mit dem bogenmaß, d.h. du musst den winkel vorher mit PI/180 malnehmen, damit du das gewünschte ergebnis erhälts) für x, cos für y und multipliziere ihn mit dem wert um den es verschoben werden soll. wenn du immer nur um 1 bewegst, wird es kompliziert, weil du dann eben kommazahlen zwischen 1 und 0 rausbekommst, ich hab schonmal son ähnliches programm gemacht, im prinzip musst du dann immer die kommazahlen addieren, und wenn sie über 1 gehen, verschiebst du den punkt um 1 in die jeweilige richtung
    bsp:
    winkel=35°
    x+=sin(35)*1 also ca 0,57
    y+=cos(35)*1 also ca 0,829
    danach guggst du, ob
    x>=1, wenn ja, dann bewegst du den punkt um 1 x und ziehst 1 von x ab
    y>=y, wenn ja bewegst du den punkt um 1 y und ziehst 1 von y ab

    und das dann eben immer wieder..

    grüsse steve
    ps: hoff ich hab mich klar ausgedrückt 🙂
    edit: die bewegungsrichtung musst du dafür natürlich auch wissen 🙂


Anmelden zum Antworten