Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

  • »DerSpieleprogger« ist der Autor dieses Themas

Beiträge: 19

Beruf: Elektroniker

  • Private Nachricht senden

11

28.08.2016, 21:55

O.K.

Also könnte ich für a = 9,81 nehmen.
Wenn es nicht passt, kann ich ja mit dem Wert herumspielen.

Das heißt ich nehme für VSprung ebenfalls einen konstanten Wert an.

Jetzt kann ich anfangen diese Formel zu implementieren in meinen Javacode.

Nur eines macht mir noch Kopfzerbrechen, wenn ich einen Vektor in Java erzeugen möchte, dann benötige ich einen x & y Wert.

Java-Quelltext

1
Vector vector = new Vector(x, y);
?

TGGC

1x Rätselkönig

Beiträge: 1 799

Beruf: Software Entwickler

  • Private Nachricht senden

12

28.08.2016, 22:03

Das ist doch die Formel zur berechnung der Beschleunigung:

§ F = m*a §

Nein. Das ist _eine_ Formel (nicht _die_), in der eine Beschleunigung vorkommt. Mit ihr kann man die Beschleunigung berechnen die Ein Koerper der Masse m erfahert, wenn die Kraft F auf ihn wirkt.


Ich muss doch die Beschleunigung "a" für diese Formel ausrechnen:

§ \Delta \vec{v} = vSprung-a*\Delta t §

Wie soll ich sonst auf a kommen?
Wie gesagt in einem Spiel kannst du einen komplett beliebigen Wert fuer a festlegen.

Wenn ich F mit 9,81 annehme und "m" die Masse mit ca.70kg oder weniger, dann kann ich "a" ausrechnen, wie sollte ich das sonst machen?
Wenn du F mit 9,81 annimmst? 9,81 was? Aepfel? Birnen? Wenn du dich mal auf eine Einheit geeinigt hast, ja dann kannst du a ausrechnen. Aber wofuer? Du koenntest doch auch beliebige andere Werte annehmen und ein anderes a ausrechnen. Also warum nicht gleich fuer a einen beliebigen Wert waehlen.

Am anfang diese Beitrags hieß es doch, das ich diese Formel brauchen werde:

§ \Delta \vec{v} = vSprung-a*\Delta t §

Das heißt ich brauche diese Formel doch nicht, oder wie?
Sorry, aber ich bin etwas durcheinander jetzt.
Da es zuerst heißt ich benötige diese Formel, dann ist diese doch nicht relevant ?(

Was heisst brauchen? Brauchen tust du gar nichts, es ist ja nur ein Spiel. Der Sprung kann sich nach eine beliebigen Formel oder Tabelle verhalten, das ist voellig egal, solange das in dein Spiel passt.



Zu meinem Mathematischen & Physikalischen hintergrund:

Ich erklär mal wie ich Sie verstanden habe:

§ \Delta \vec{v} §

Beim §\vec{v}§ handelt es sich um einen Geschwindigkeitsvektor, das Delta davor sagt nur aus, das es sich um eine größe handelt die sich verändert.

VSprung ist die konstante Geschwindigkeit mit der die Spielfigur nach oben springt.

a ist wie gerade eben beschrieben die Beschleunigung die ich mit der einen Formel berechnen wollte.

§\Delta t§ ist die Zeit die der Spieler in der Luft verbringt.

Nur die genauen zusammenhänge sind mir nicht klar. Ist aber wahrscheinlich nicht Notwendig.
Welche Zusammenhaenge denn, was du eben genannt hast sind zwei beliebige Definitionen, die haben an sich erstmal noch keinen Zusammenhang.

  • »DerSpieleprogger« ist der Autor dieses Themas

Beiträge: 19

Beruf: Elektroniker

  • Private Nachricht senden

13

29.08.2016, 12:43

Wie mache ich das mit dem Vector (Siehe Beitrag #11)?

MFG und danke an euch alle für die Hilfe!

Wirago

Alter Hase

Beiträge: 1 193

Wohnort: Stockerau

Beruf: CRM Application Manager

  • Private Nachricht senden

14

29.08.2016, 12:59

Wie mache ich das mit dem Vector (Siehe Beitrag #11)?

MFG und danke an euch alle für die Hilfe!


So wie du geschrieben hast. Und ja, ein Vector hat einen x und y -Wert. (Vector3 sogar noch einen z-Wert).
Bei einem Sprung (Änderung der Höhe) verändert sich demnach nach nur der y -Wert.
Wenn du in einem Bogen springen willst, dann natürlich auch der x-Wert.

Die somit entstandene Bewegung musst du nun zu der Position des zu bewegenden Objektes addieren.

  • »DerSpieleprogger« ist der Autor dieses Themas

Beiträge: 19

Beruf: Elektroniker

  • Private Nachricht senden

15

29.08.2016, 20:34

Schon klar, aber was setze ich für x & y beim Vektor ein??
Ich benötige einen Zahlenwert ich kann doch nicht einfach irgendwas einsetzen.
Soll ich für x & y die Position der spielfigur einsetzen?

MfG

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

16

29.08.2016, 20:54

Schon klar, aber was setze ich für x & y beim Vektor ein??
Ich benötige einen Zahlenwert ich kann doch nicht einfach irgendwas einsetzen.
Soll ich für x & y die Position der spielfigur einsetzen?

Ich denke du solltest dich mal vernünftig mit Vektoren auseinander setzen. Wenn du verstanden hast was das ganze ist und wie du damit rechnest guckst du dir Wiragos letzten Beitrag noch mal an. Da steht genau was du machen sollst.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Wirago

Alter Hase

Beiträge: 1 193

Wohnort: Stockerau

Beruf: CRM Application Manager

  • Private Nachricht senden

17

29.08.2016, 21:55

Schon klar, aber was setze ich für x & y beim Vektor ein??
Ich benötige einen Zahlenwert ich kann doch nicht einfach irgendwas einsetzen.
Soll ich für x & y die Position der spielfigur einsetzen?

MfG

Und schon hast du erkannt, dass es einen Unterschied zwischen Positions- und Richtungsvector gibt.
Und aus eben dieser Richtungsangabe entsteht die Bewegung (eine neue Position)

Zugegeben, das mit den Vectoren ist eine Sache für sich. Allerdings unabdinglich. Und sobald man es behirnt hat, ist es gar nicht mehr so schwer.

  • »DerSpieleprogger« ist der Autor dieses Themas

Beiträge: 19

Beruf: Elektroniker

  • Private Nachricht senden

18

29.08.2016, 22:24

Das heißt ich mache das so:

Bild 1:

Die Spielfigur befindet sich am Starpunkt und hat sich noch nicht bewegt.

Bild 2:

Die Spielfigur hat sich auf eine bestimmte Position bewegt.

Das heißt wie schon erwähnt, das der x & y Wert vom Vektor gleich der Position des Spielers ist.
Bei Levelstart ist der Anfangswert von x,y = 0,0.
Hat sich die Spielfigur bewegt, dann ist x,y wie in Bild 2: 3,3.

Nun muss ich den Betrag (Länge) meines Vektors berechnen.
Das mache ich mit dem Pythagoras.

Soweit richtig?
»DerSpieleprogger« hat folgende Bilder angehängt:
  • Bild 1.jpg
  • Bild 2.jpg

Nimelrian

Alter Hase

Beiträge: 1 216

Beruf: Softwareentwickler (aktuell Web/Node); Freiberuflicher Google Proxy

  • Private Nachricht senden

19

29.08.2016, 22:34

Wofür willst du da Pythagoras benutzen?

http://natureofcode.com/book/

Durchlesen. Bitte. Wir versuchen dir hier jetzt schon seit mehr als einer Seite beizubringen, wie man mit Vektoren arbeitet, aber du scheinst immer noch nicht verstanden zu haben, was ein Vektor überhaupt ist und wofür man ihn nutzen kann...
Ich bin kein UserSideGoogleProxy. Und nein, dieses Forum ist kein UserSideGoogleProxyAbstractFactorySingleton.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

20

29.08.2016, 22:46

Wofür willst du da Pythagoras benutzen?

Um die Vektorlänge (= Geschwindigkeit, wenn es der Bewegungsvektor ist) zu berechnen. Das ist ja auch korrekt so.

Werbeanzeige