Mal wieder Sprung :) *GELÖST*
Übersicht

BlackErrorBetreff: Mal wieder Sprung :) *GELÖST* |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo zusammen,
Ich weiss, dass das Thema Springen schon des öfteren hier besprochen worden ist. Jedoch finde ich diesbezüglich keine Lösung für mein Problem. Also in wirklichkeit ist es ja so, dass wenn man abspringt, eine bestimmte Geschwindigkeit hat, die dann um so höher man kommt, abnimmt, bis sie 0 erreicht hat, was bedeutet, dass der höchste Punkt erreicht wurde. Danach vergrössert sich die Geschwindigkeit nach unten wieder, bis man auf dem Boden aufkommt. In der Programmierung möchte ich das auch so umsetzen: Ich habe eine Variable S#.Diese soll zuerst -1 sein, wenn man nicht springt, dass man auf dem Boden bleibt.. Wenn die Leertaste gedrückt wird, soll die Variable auf z.B. 2 gesetz werden (Die Anfangsgeschwindigkeit wie oben beschrieben) und nach jemdem schleifendurchlauf um z.B. 0.3 verringert werden, bis der Wert 0 erreicht wird, was also der Höchste Punkt im Sprung sein soll. Nun soll der Wert auf 0 gesetzt werden, und in jedem schleifendurchlauf auch wieder z.B. 0.3 abgezogen werden. Ihr fragt euch bestimmt, warum ich den Wert auf 0 setzten will, wenn ich ihn nicht einfach gleich weiter nach unten laufen lassen könnte. Allerdings wird dadurch die Geschwindigkeit des herunterzählens zu gross, weil sie sich ja immer weiter steigert, wenn ich S# = S# - 0.3 mache. So soll nochmal von 0 an heruntergezählt werden, dass eine neune Beschleunigung der Camera von 0 entsteht. Das müsste einfach besser aussehen. Code: [AUSKLAPPEN] If KeyHit (57) Then Sprung = 1 End If If Sprung = 1 Then ;-----WO SETZE ICH S# = 2 (Anfangsgeschwindigkeit) ein????? S# = (S# - 0.3) If S# < 0 Then ;Wenn höchster Punkt erreich wurde, soll S# wie oben beschrieben 0 sein! S# = 0 ;--------------Das S# = 0 kann doch auch nicht direkt über S# = (S# - 0.3) S# = (S# - 0.3) If EntityCollided (Cam,2) Or EntityCollided (Cam,3) Then ;Wenn auf Boden auftreffen Sprung = 0 End If End If If Sprung = 0 Then S# = -1 If Not EntityCollided (Cam,2) Or EntityCollided (Cam,3) ;wenn ich einen steilen Hang hinuterlaufe S# = -10 End If End If TranslateEntity Cam, 0,S#,0 Ich hoffe man erkennt mein Problem. Ich weiss einfach nicht, wo ich S# = 2 und S# = 0 einsetzten soll. Direkt über das herunterzählen geht so nicht. Ich hoffe, ihr könnt mir helfen. Gruss BlackError |
||
- Zuletzt bearbeitet von BlackError am Di, Apr 29, 2008 21:17, insgesamt einmal bearbeitet
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] If Keyhit(57) Then S# = 2 : Sprung = 1 |
||
Starfare: Worklog, Website (download) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group