+ Antworten
Seite 3 von 3 ErsteErste 1 2 3
Ergebnis 41 bis 56 von 56

Thema: Slick2D Gravitation Jump Run

  1. #41
    Frequent User Megabyte
    Registriert seit
    01.11.2013
    Fachbeiträge
    1.285
    Genannt
    192 Post(s)
    Blog-Einträge
    1
    So, jetzt melde ich mich auch mal zu Wort, ich hab hier mitgelesen, sogar nicht ganz so sporadisch. Gravitation ist eine Konstante oder Variable, aber kein Vektor. Ein Vektor hat meist mehrere... wie nenn ich das jetzt... Komponenten/Dimensionen/Elemente. Ein 1-Vektor ist eher ungewöhnlich. - Aber darum geht es gar nicht. Die Frage ist nicht gut beschrieben. Zuerst ging es darum, dass Vektor im Englischen oder so VeCtor heißt, also mit C - IMMER mit C. Dann ist von einer "addForce"-Methode gefragt, aber völlig aus dem Kontext gestellt. Du sagtest vorher nicht, welche Bib., welches Buch, welches Spiel, welcher Code - UND VOR ALLEM: welcher Kenntnisstand. Machst du das nur so nebenbei oder hobbymäßig oder studierst das oder wtf.^^

    Wenn es nur um einen Wurf, ein Hüpfen, einen Bogen oder wtf geht, dann ist die Erdanziehungskraft völlig außen vor... dann müsstet du nach BW suchen.

    Off topic:
    Oder... Jetzt mal OFFTOPIC(!!!) Du denkst sicher, dass viele von uns eine Glaskugel habn und dann Abrakadabra hokus pokus fidibus machen - DAS stimmt auch, aber wir können trotzdem immer noch nicht deine Gedanken lesen!
    Geändert von CyborgBeta (17.08.2016 um 21:53 Uhr)
    Näher an den Bits, näher an der Materie
    Slick2D Gravitation Jump Run

  2. #42
    Global Moderator Viertel Gigabyte
    Registriert seit
    05.08.2008
    Fachbeiträge
    4.968
    Genannt
    325 Post(s)
    Zitat Zitat von Javaman1991 Beitrag anzeigen
    Leute, hört mir mal bitte kurz zu.
    Hähwas?! Äh ja, ich bin wach!

    Im Ernst: Das Problem ist, dass du mit Halbwissen und unklaren Aussagen und Fragen Sachen durcheinanderwirst, die eine klare, fokussierte Antwort unmöglich machen. Bis zu einem gewissen Grad unterscheidet sich ein Forum GERADE bei sowas von Q&A-Seiten, wo Nazihafte Qualitätskriterien für Fragen gelten, und eine unklare Frage in die Hölle down-gevotet wird, aber ... ein bißchen Struktur und Systematik wäre schon hilfreich.

    Als nächstes wird das „Newtonsche-Gravitationsgesetz“ herangezogen. Bei diesem Gesetz geht es um die Massenanziehung, also zwei Körper die sich gegenseitig mit einer bestimmten Kraft anziehen. Genau diese Kraft möchte ich nun berechnen, das mache ich mit der Formel: F = (G*m1*m2)/r^2.
    FALLS du tatsächlich vor hast, für "m1" die Masse von Mario einzusetzen (ca. 70kg), und für "m2" die Masse der Erde (ca. 5972000000000000000000000 kg (!)), dann sollte eigentlich klar sein, dass das keinen Sinn macht.


    Anschließend muss ich meinen Vektor auf die korrekte Länge setzen mit meiner gerade eben berechnete Beschleunigung mit: "setForce(Beschleunigung)".
    Eine Methode namens "setForce" sollte tunlichst eine "Force" (Kraft) übergeben bekommen, und keine "Beschleunigung" (Acceleration), aber im folgenden Abschnitt...

    Denn die Bewegung meiner Spielfigur hängt nicht nur von der Gravitationskraft sondern auch von der Beschleunigung ab, da die Masse eine Rolle spielt.
    Jetzt kommt der Punkt wo ich nicht mehr weiter komme, ab hier muss ich meinen Vektor zur Bewegung meiner Spielfigur hinzuaddieren.
    Das macht man laut dem Buch mit der „addForce-Methode“ die ich ja nicht habe.
    Deshalb habe ich euch gefragt, wie man einen Vektor zu der Bewegung einer Spielfigur hinzuaddiert, damit ich diese Methode selber programmieren kann?
    ...werden die Begriffe noch übler gemischt. Die Zusammenhänge zwischen den ganzen Größen wurden schon erklärt (wenn auch nicht so strukturiert, wie das bei einer konkreteren Frage möglich gewesen wäre)

    - Zwischen zwei Massen wirkt eine Kraft. Die Gravitationskraft (Force).
    - Wenn eine Kraft auf eine Masse wirkt, dann erfährt diese Masse eine Beschleunigung (Acceleration)
    - (Im Falle von Mario+Welt sind diese Kräfte egal (!). Man kann direkt mit der Beschleunigung rechnen. Das wäre dann die "Gravitationsbeschleunigung" oder auch "Erdbeschleunigung", und die ist 9.81 m/s*s. Das, was in dem Buch beschrieben wird, hat mit deinem Andwendungsfall so gesehen nichts zu tun. Dort werden Sachen berechnet, die du schlicht nicht brauchst)
    - Wenn eine Beschleunigung auf eine Masse wirkt, dann ändert diese Beschleunigung im Lauf der Zeit die Geschwindigkeit (Velocity) der Masse
    - Wenn eine Masse eine Geschwindigkeit hat, dann ändert diese Geschwindigkeit im Lauf der Zeit die Position (Position) der Masse

    Poste erstmal deine Klasse für die Spielfigur, so, wie sie jetzt ist. Danach kann man weitersehen.

  3. #43
    Frequent User Megabyte
    Registriert seit
    01.11.2013
    Fachbeiträge
    1.285
    Genannt
    192 Post(s)
    Blog-Einträge
    1
    Waagerechter und schräger Wurf | LEIFI Physik

    Viel Spaß dabei. Ich hab mich damals geweigert, das zu implementieren, weil sich (schonwieder) Mathematiker daran ausgelassen haben.

    Und ich muss mich korrigieren, die Erdanziehungskraft/g-Kraft ist dabei doch wichtig (wiees scheint).
    Näher an den Bits, näher an der Materie
    Slick2D Gravitation Jump Run

  4. #44
    Global Moderator Viertel Gigabyte
    Registriert seit
    05.08.2008
    Fachbeiträge
    4.968
    Genannt
    325 Post(s)
    Und genau diese Gleichungen haben mit dem, worum es hier geht, praktisch nichts zu tun... (nicht beirren lassen)

  5. #45
    Frequent User Megabyte
    Registriert seit
    01.11.2013
    Fachbeiträge
    1.285
    Genannt
    192 Post(s)
    Blog-Einträge
    1
    Ich dachte, dass das Männechen im Vorwärtslauf springen können soll... Dann hab ich das Ganze falsch aufgefasst - und auch immer noch nicht die Frage richtig verstanden.
    Näher an den Bits, näher an der Materie
    Slick2D Gravitation Jump Run

  6. #46
    Global Moderator Megabyte Avatar von Landei
    Registriert seit
    31.07.2013
    Ort
    Sandersdorf-Brehna
    Fachbeiträge
    1.003
    Genannt
    169 Post(s)
    Blog-Einträge
    27
    Wie schon mehrfach im Thread erwähnt, sind x- und y-Komponente der Bewegung voneinander unabhängig. Die Parabel, die du siehst, ist eine Überlagerung von einem Wurf senkrecht nach oben mit anschließenden Fall nach unten (wo Gravitation beschleunigend auf das Objekt wirkt) und einer gleichmäßigen Vorwärtsbewegung (wo Gravitation nicht wirkt). Beide Komponenten der Bewegungen werden nur vektoriell "zusammenaddiert", aber sie beeinflussen sich in keiner Weise.

  7. Es bedanken sich:
    CyborgBeta (18.08.2016)
  8. #47
    User Halbes Megabyte Avatar von Crian
    Registriert seit
    02.08.2013
    Fachbeiträge
    552
    Genannt
    32 Post(s)
    @Marco13 : Du nennst die Klasse den "springenden" Punkt, obwohl der Punkt nur runterfällt und liegen bleibt? Wäre da nicht "der fallende Punkt" oder so besser?

    Springen tut er übrigens mit body.getVelocity().y = - body.getVelocity().y; in collisionDetection().
    Geändert von Crian (19.08.2016 um 14:17 Uhr)

  9. #48
    Global Moderator Viertel Gigabyte
    Registriert seit
    05.08.2008
    Fachbeiträge
    4.968
    Genannt
    325 Post(s)
    Das kann mit den Cursortasten Jump+Run-Mäßig gesteuert werden. Links+Rechts, und nach oben zum Springen. Das könnte ich stundenlang machen

    Ein "physikalisch korrektes Abprallen" ist gar nicht so leicht. Da spielt dann auch die Elastizität eine Rolle, und man müßte die (halbherzig reingepfuschte) Dämpfung verbessern (sonst würde er ja "ewig weiterspringen"), und insbesondere die Kollisionserkennung müßte deutlich verbessert werden. DAS wird dann RICHTIG aufwändig (kontinuierliche Kollisionserkennung, anyone?)

  10. #49
    User Megabyte Avatar von mymaksimus
    Registriert seit
    17.08.2013
    Fachbeiträge
    1.276
    Genannt
    50 Post(s)
    "und außerdem, so lange her, dafür gibts keine teile mehr.."

  11. #50
    Frequent User Megabyte
    Registriert seit
    01.11.2013
    Fachbeiträge
    1.285
    Genannt
    192 Post(s)
    Blog-Einträge
    1
    Kollisitionserkennung mit dem Boden sollte doch kein Problem sein. Aber danach ist hier nicht gefragt. Er will einfach nur (physikalisch korrekten) Sprung mithilfe der Erdanziehungskraft/g-Kraft berechnen.

    Und wenn ich etwas drüber nachdenke (betrunkenen Kopfs), dann macht ein 2D-Jump-And-Run doch eben deshalb Spaß, weil man sich "in der Luft" (seitlich) bewegen kann, also nicht physikalisch korrekt ist.

    Was meint ihr dazu?

    Edit: Außerdem kann man sich "im Sprung" bewegen - es gibt immer noch den Luftwiderstand? Oder falsch?
    Näher an den Bits, näher an der Materie
    Slick2D Gravitation Jump Run

  12. #51
    Global Moderator Viertel Gigabyte
    Registriert seit
    05.08.2008
    Fachbeiträge
    4.968
    Genannt
    325 Post(s)
    Die Kollisionserkennung für ein Jump+Run ist (auch wenn das jetzt nach einem Widerspruch zu vorher gesagtem klingt) vergleichsweise trivial, selbst wenn man sie kontinuierlich macht: Es geht nur um 2D, und meistens bewegt sich nur EINS der beiden Objekte. Vor allem ist die Kollisionsantwort meistens auch recht überschaubar: Entweder, die Kollision ist vollkommen unelastisch (wie beim Boden), oder es passiert irgendwas (z.B. eine Münze oder ein Pilz steigt aus einem Block auf ). Im Gegensatz dazu ist die Frage, wann zwei bewegte Dreiecke in 3D sich berühren etwas fummeliger (http://www.cc.gatech.edu/~jarek/grap...ourseSIG04.pdf, um Seite 97 rum...). Aber auch wenn das alles "vergleichsweise" einfach ist, ist es u.U. richtig aufwändig, das so zu implementieren, dass die Figur eben NICHT "manchmal durch irgendwas durch fällt" und "machnal an einer unsichtbaren Ecke hängenbleibt"....

  13. #52
    Frequent User Megabyte
    Registriert seit
    01.11.2013
    Fachbeiträge
    1.285
    Genannt
    192 Post(s)
    Blog-Einträge
    1
    Zitat Zitat von Marco13 Beitrag anzeigen
    , dass die Figur eben NICHT "manchmal durch irgendwas durch fällt" und "machnal an einer unsichtbaren Ecke hängenbleibt"....
    Die Figur darf nicht in etwas eindringen, das wäre die erste Aufgabe. Durch etwas durchdringen oder auf "unsichtbarer" Ecke "stehen", ist bei kontinuierlicher/dynamischer Kollisionserkennung doch gar kein Problem.

    Aber erst mal ist der Sprung das Problem.

    Was hat man denn da? Zeit, Position, Richtung, Beschleunigung? Sollte doch kein Problem sein. Richtung und Beschleunigung ändern die Position; Zeit ändert Richtung und Beschleunigung.

    Also ich stelle mir das nicht so schwierig vor. Auch in 3D ist, wenn mit 2D richtig, nicht so schwer (lässt man alles drumherum mal weg).

    Wichtig ist nur, was ist jetzt eine Konstante oder Variable, ein Vektor (oder eine Matrix). Da einfach einlesen und Wissen aneignen.

    Off topic:
    Eigentlich ist das alles nicht schwer, eigentlich bin ich gar nicht betrunken, eigentlich ist noch nie ein Sack Reis in China umgefallen, eigentlich eigentlich.^^ Bin dann mal sleeping.


    Edit: In der Luft bewegen geht nicht, aber wieso kann man eigentlich, physikalisch korrekt erklärt, Schaukeln? Ich hab doch keine feste Oberfläche usw. Man würd erwarten, dass der "Pendelschlag" immer kleiner wird.
    Geändert von CyborgBeta (21.08.2016 um 03:57 Uhr)
    Näher an den Bits, näher an der Materie
    Slick2D Gravitation Jump Run

  14. #53
    User Halbes Megabyte Avatar von Crian
    Registriert seit
    02.08.2013
    Fachbeiträge
    552
    Genannt
    32 Post(s)
    Zum Schaukeln: Durch das Verlagern des Schwerpunktes.

  15. #54
    Frequent User Megabyte
    Registriert seit
    01.11.2013
    Fachbeiträge
    1.285
    Genannt
    192 Post(s)
    Blog-Einträge
    1
    @Marco13 : Aber ich hab es doch richtig beschrieben, oder?:

    Zitat Zitat von CyborgBeta Beitrag anzeigen
    Richtung und Beschleunigung ändern die Position; Zeit ändert Richtung und Beschleunigung.
    Das müssten die Basics von Bewegung sein, oder?

    Wenn man es mathematisch betrachtet, dann ist auch egal, in welcher Dimension man sich bewegt, stimmt's?

    Was soll ich noch schreiben, ich kann erst wieder was schreiben, wenn sich TO nochmal melden tut.

    Grüße
    Näher an den Bits, näher an der Materie
    Slick2D Gravitation Jump Run

  16. #55
    User Viertel Megabyte Avatar von TMII
    Registriert seit
    19.02.2015
    Fachbeiträge
    319
    Genannt
    34 Post(s)
    @CyborgBeta
    Dazu muss man "Momente" Verstehen. Das sind um sich drehende Bewegungen auf einer Fläche.
    Beim Schwingen der Beine erzeugt du ein Moment um deine Knie, dieses verschiebt sich in die Nähe der Aufhängung der Schaukel und erzeugt eine sich drehende Beschleunigung um eben diese Aufhängung.

  17. #56
    Global Moderator Viertel Gigabyte
    Registriert seit
    05.08.2008
    Fachbeiträge
    4.968
    Genannt
    325 Post(s)
    Moment... das hat doch mit der eigentlichen Bewegung nichts zu tun?

    Jedenfalls hatte ich in #27 ja schon geschrieben
    Zitat Zitat von Marco13 Beitrag anzeigen
    Das Objekt hat
    - Position
    - Geschwindigkeit
    - Beschleunigung (=Kraft/Masse)

    In jedem Zeitschritt, dessen Dauer mal mit "t" beschrieben sei, macht man
    - NeuePosition = Position + t * Geschwindigkeit
    - NeueGeschwindigkeit = Geschwindigkeit + t * Beschleunigung
    - NeueBeschleunigung = Kraft / Masse

    Und dabei ist egal, ob das ganze nun 1D oder 2D ist.

+ Antworten Thema als "gelöst" markieren
Seite 3 von 3 ErsteErste 1 2 3

Direkt antworten Direkt antworten

Wie lautet das letzte Wort am Ende dieser Webseite?

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. (JMatIO) Problem mit .mat Files erzeugen
    Von BlackHawk im Forum Allgemeine Themen
    Antworten: 1
    Letzter Beitrag: 06.02.2016, 16:18
  2. Antworten: 0
    Letzter Beitrag: 12.06.2014, 13:57
  3. Antworten: 7
    Letzter Beitrag: 01.05.2014, 17:56
  4. BufferUnderFlowException beim laden eines Fonts
    Von FrostByte im Forum Spiele- und Multimedia-Programmierung
    Antworten: 4
    Letzter Beitrag: 29.09.2013, 23:25

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •