tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
1986
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Taquar Taquar ist offline Rookie
    Registriert seit
    Aug 2008
    Beiträge
    8
    Ich möchte mir ein 2D Golfspiel programmieren....
    Eigendlich geht ja alles:
    Ball flug mit Berechnung der Schwerkraft und Bodeneigenschften (Gras, Sand und Stein)
    Abprallen an geraden sowie schiefen Hindernissen mit Flugbahn änderung.

    nur...

    Wenn der ball ausrollt und dann eine Schräge runterrollen soll... fängt der ball an zu hüpfen... Das Problem sobald sich der bBll etwas nach unten Bewegt greift sofort die abprall Berechnung für die schrägen Hindernisse.
    Jetzt muss ich eine neue Berechnung für eben diesen fall schreiben.
    Kann mir vielleicht jemand Erklären oder Zeigen wie ich den Code schreiben muss um ein Rollen auf einer Schräge zu realisieren?


    Ich danke im Voraus...
    Geändert von Taquar (20.02.10 um 18:51 Uhr)
     

  2. #2
    Avatar von Spyke
    Spyke Spyke ist offline Capoeirista
    Registriert seit
    Oct 2002
    Beiträge
    931
    da bisher keiner geantwortet hat will ich es mal versuchen.
    Jedoch ohne Code (und Screenshot) fälts mir schwer.

    Ich würde ja Behaupten das ich eine Maxmimalkraft habe wie hoch der Ball hüpfen kann, diese Maxmimalkraft verringert sich mit jedem Hüpfer.
    Bis diese letztendlich 0 ist und der Ball nur noch rollt oder liegen bleibt.

    Die großen groben Variablen wären:
    x-Bewegungsrichtung
    y-Bewegungsrichtung

    x-Geschwindigkeit
    y-Geschwindigkeit

    x-Aktuelle Position
    y-Aktuelle Position
    Hab aber nicht wirklich Ahnung in Physik, oder besser gesagt wieder vergessen
     
    www.iv-interactive.de - Projektewebsite
    WikiParser - aktuelles Projekt

  3. #3
    Avatar von Shakie
    Shakie Shakie ist offline Mitglied Diamant
    Registriert seit
    May 2004
    Ort
    Europa
    Beiträge
    2.048
    Zitat Zitat von Spyke Beitrag anzeigen
    Ich würde ja Behaupten das ich eine Maxmimalkraft habe wie hoch der Ball hüpfen kann, diese Maxmimalkraft verringert sich mit jedem Hüpfer.
    Naaaaaaja. Also Kräfteansatz ist schon mal nicht schlecht.
    @Taquar: Wenn du speziell für die schiefe Ebene eine eigene Physikengine schreiben willst, dann musst du dir folgendes überlegen:
    Du hast die Gewichtskraft des Balls und die Normalkraft der schiefen Ebene (und ggf. Rollreibung). Die Normalkraft ist diejenige Kraft, die die schiefe Ebene aufbringen muss, damit sie nicht kaputt geht (deformiert wird). Sie steht senkrecht auf der Ebene, während die Gewichtskraft immer Richtung Erde zeigt. Dann musst du diese beiden Kräfte vektoriell addieren (sagt dir Vektorrechnung etwas?) und du hast die Gesamtkraft auf den Ball. Diese Gesamtkraft definiert die Beschleunigung (über F=m*a). Ich weiß nicht wie sinnvoll es ist, die Physik hier noch im Detail zu erklären, da ich nicht weiß, wie viel du schon weißt
    In welchem "Format" speicherst du denn deine Golflandschaft, das heißt die Schiefe Ebene? Speicherst du einen Winkel, eine Länge der Ebene und die Position? Oder nimmst du eine Bitmap?
    Im Prinzip müsstest du den Winkel der Ebene kennen, damit du den Betrag der Beschleunigung (oder den Beschleunigungsvektor) berechnen kannst.

    Darüberhinaus ist es durchaus möglich, dass ein Ball eine schiefe Ebene hüpfend hinunterrollt. Es kommt auf die Anfangsbedinungen an. Wenn du den Ball legst wird er nur runterrollen, wenn du ihn fallen lässt wird er runter hüpfen.

    EDIT: Soll sich dein Ball auch physikalisch korrekt drehen oder behandelst du ihn als Punktmasse?
    Geändert von Shakie (23.02.10 um 12:01 Uhr)
     
    hihi = -h²

  4. #4
    Taquar Taquar ist offline Rookie
    Registriert seit
    Aug 2008
    Beiträge
    8
    Ich danke euch für eure Ideen.

    Ich weiß natürlich die Grade meiner ebenen. *g*
    Ich habe momentan fixe Grade vergeben.

    Das der Ball sich dreht ist momentan nicht so wichtig... also ist es eine Punktmasse.
    Ich werde mir die Beschleunigungsberechnung ansehen... habe bemerkt das wenn ich unter eine bestimmte Geschwindlichkeit der Kugel komme das diese nicht mehr abheben kann, auch wenn es Bergab geht.
    Somit habe ich die Variable "Rolling = 1" eingefügt.
    Damit kann ich das Hüpfen unterdrücken und über F=m*a dann die Beschleunigung berechnen.

    Später möchte ich es soweit bringen das sich der Ball dreht... mit Spin... Windwiderstand (momentan herscht Windstille *g*)... und unebenen Boden den ich nicht vorgeben muss damit der Ball richtig darauf reagiert.


    Danke für die hilfe.

    mfg
    Taquar
     

  5. #5
    Avatar von Spyke
    Spyke Spyke ist offline Capoeirista
    Registriert seit
    Oct 2002
    Beiträge
    931
    Wenn du fertig oder eine lauffähige Demo hast, dann meld dich mal.
    Hast mich neugierig gemacht auf dein Projekt.
     
    www.iv-interactive.de - Projektewebsite
    WikiParser - aktuelles Projekt

Ähnliche Themen

  1. Ball rollen lassen
    Von safin23 im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 2
    Letzter Beitrag: 28.04.08, 18:21
  2. Ball physikahlisch rollen lassen
    Von csfungamer im Forum Visual Basic 6.0
    Antworten: 3
    Letzter Beitrag: 27.12.05, 11:00
  3. Kollision: schräge Wand und Ball in 2D
    Von oska im Forum Coders Talk
    Antworten: 4
    Letzter Beitrag: 03.12.04, 17:27
  4. Kollision zwischen ball und schräge Linie ?!
    Von NetPerformance im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 29.07.04, 22:43
  5. Ball--> realistisch rollen
    Von ponda im Forum 3D Studio Max
    Antworten: 2
    Letzter Beitrag: 14.08.03, 22:04