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

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

11

12.04.2014, 18:53

Welche Kräfte wirken denn auf einem wenn man springt? Erst die Sprungkraft, die einen fast auf der Stelle auf eine bestimmte Geschwindigkeit beschleunigt.
Dagegen wirkt im prinzip nur die Schwerkraft(die restlichen Kräfte können bei niedrigen Geschwindigkeiten ignoriert werden), die Ständig und Gleichmäßig auf alle Objekte wirkt.

Du musst also die Fallgeschwindigkeit zwischenspeichern und in jedem Frame anpassen. Für die Schwerkraft änderst du die Geschwindigkeit über die Zeit(z.B. 100pixel/s²). Bei einem Sprung setzt du sie gleich auf z.B. 100Pixel/Sekunde nach oben. Die horizonale Geschwindkeit bleibt davon unbeeinflusst. In diesem Fall würde der Charakter genau eine Sekunde steigen und nach einer Sekunde wieder auf dem Boden stehen.
So erhältst du eine schöne ballistische Flugbahn. ;)
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »NachoMan« (12.04.2014, 19:00)


TSM

Frischling

  • »TSM« ist der Autor dieses Themas

Beiträge: 30

Beruf: Schüler

  • Private Nachricht senden

12

12.04.2014, 19:02

Und jetzt nochmal auf Deutsch mit Beispiel :D
abgesehen von dem teil mit der Schwerkraft das ist mir klar ;D

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

13

13.04.2014, 08:50

Da war viel verwirrendes Zeug drin, die wichtigste Aussage aber war die:
Bei einem Sprung setzt du sie gleich auf z.B. 100Pixel/Sekunde nach oben.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

TSM

Frischling

  • »TSM« ist der Autor dieses Themas

Beiträge: 30

Beruf: Schüler

  • Private Nachricht senden

14

13.04.2014, 09:32

Das mit dem Verwirrendem Zeug stimmt muss ich zugeben (Das war aber auch nur ein Test Projekt (Das richtige Spiel kommt Sauber auf ein anderes Blatt ;D)).

Also um es kurz zu fassen das Springen haben wir ja und das fallen auch jetzt bräuchte ich eigentlich (also so hab ich mir das vorgestellt) eine float Max.y die dann Beispielsweise Player.getPosition().y -15 wäre oder?

dann würde die kleine Figur von Ihrer Position nur um -15 Springen und dann fallen. :hmm:

TSM

Frischling

  • »TSM« ist der Autor dieses Themas

Beiträge: 30

Beruf: Schüler

  • Private Nachricht senden

15

13.04.2014, 09:52

Hab es Versucht Funktioniert immer noch nicht X( ich krig langsam die Kriese :O maaann entweder ich hab es nicht verstanden oder ich hab irgendwo einen Fehler den ich nicht sehe.
Kann mir jemand das mit dem V DT usw erklären..?
also ich weiß das V die Geschwindigkeit sein soll und dt die neue zeit ist und t die vergangene Zeit ist aber ich hab keine Ahnung wie das funktionieren soll.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

16

13.04.2014, 10:32

Dein Ansatz tut schon mehr oder minder das richtige. Nur addierst Du immer mehr Geschwindigkeit "nach oben" auf die Spielfigur, solange die Space-Taste gedrückt ist. Bau das halt endlich aus und gib ihr nur einmal einen "Schubs" nach oben, der halt kräftig genug ist. Der Rest stimmt dann schon irgendwo.
Funktionen hattet ihr doch sicher schon in der Schule, wenn vielleicht auch nur lineare.
Schau einfach mal, was folgende Funktionen ausrechnen (z.B. kannst Du da Wolframalpha eine schöne Kurve zu malen lassen):
f(t) = 50*t - 5*t*t
f(t) = 150*t - 3*t*t
f(t) = 250*t - 2*t*t
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

TSM

Frischling

  • »TSM« ist der Autor dieses Themas

Beiträge: 30

Beruf: Schüler

  • Private Nachricht senden

17

13.04.2014, 11:06

Wie gesagt ich bin erst in der 8.Klasse wenn auch auf dem Gymnasium... Leider hatte ich im Mathe Unterricht noch keine Parabel oder andere vergleichbare Funktionen... Das mit dem "Schubs" hab ich auch mal versucht mit einer while schleife also:
if(//Space-Taste gedrückt){
while(Pos.y!= MaxHeight){
Player.move(0,-5);
}
if(Pos.y == MaxHeight || Pos.y >= MaxHeight){
...setzte schwerkraft
}
}
in etwa.. mal als beispiel.Dann kommen nur Probleme auf..

Nimelrian

Alter Hase

Beiträge: 1 216

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

  • Private Nachricht senden

18

13.04.2014, 11:42

Was ist denn überhaupt MaxHeight?
Ich bin kein UserSideGoogleProxy. Und nein, dieses Forum ist kein UserSideGoogleProxyAbstractFactorySingleton.

TSM

Frischling

  • »TSM« ist der Autor dieses Themas

Beiträge: 30

Beruf: Schüler

  • Private Nachricht senden

19

13.04.2014, 11:48

Max height ist die Maximal höhe die der Spieler erreichen kann, wenn dieser Springt...

Nimelrian

Alter Hase

Beiträge: 1 216

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

  • Private Nachricht senden

20

13.04.2014, 11:58

Ist dein Level flach?
Ich bin kein UserSideGoogleProxy. Und nein, dieses Forum ist kein UserSideGoogleProxyAbstractFactorySingleton.

Werbeanzeige