Seite 2 von 2
Verfasst: 26.03.2005 05:06
von Rubiko
ok zizi hat schonmal gut geholfen, danke.
aber MVXA: irgendwie ist das zu "hoch" (wie mans bei uns sagt)
vielleicht liegt es daran das ich auch nur in der 6. bin
kannst du einen codeschnipsel posten bei dem man z.B space drückt und hoch hüpft? wäre dankbar
danke im voraus

Rubiko
Verfasst: 26.03.2005 12:13
von zigapeda
Code: Alles auswählen
If Keyboardpushed(#pb_key_space)
sprungkraft = 20
posYfest = posY
for gravitation = -20 to 30
posY = posY + sprungkraft - gravitation
If posY <= posYfest
posY = posYfest
break
EndIf
next gravitation
EndIf
müsste funktionieren aber keine garantie ich hab es nicht ausprobiert.
deine figur oder dein charakter muss die Y koordinate posY haben also
Verfasst: 27.03.2005 16:15
von Rubiko
sorry habs erst jetzt ausprobiert also wenn du nichtmehr weiter weißt, kann mir ein anderer helfen?
@ zizi~ : bei deinen beispielt springt die figur hoch
problem 1 ) die figur springt bleibt oben und kommt nimmer runter^^
problem 2 ) der sprung passiert zu schnell um ihn als sprung zu identifizieren: hab versucht die gravitation zu erhöhn, bringt nichts.
Verfasst: 27.03.2005 16:47
von Kaeru Gaman
mal ganz allgemein...
Code: Alles auswählen
Repeat ;Hauptschleife
...
If KeyboardPushed(#PB_Key_Space) And JumpFlag = 0
VY = -2
JumpFlag = 1
EndIf
PY +VY
VY + 0.1
If [Player steht wieder auf dem Boden]
VY = 0
JumpFlag = 0
EndIf
DisplaySprite(#Player, PX, PY)
Until [Ende der Hauptschleife]
VY muss Float sein, damit das +0.1 registriert wird.
eine Lösung über Impulsverrechnung wäre schicker...
...wenn NTQ drauf anspringt, können wir das ja mal ausdiskutieren und
ne nette Formelumsetzung erarbeiten (meine Physik-Formelsammlung hab ich zur Hand

)
Verfasst: 27.03.2005 16:58
von Rubiko
ok nun hab ichs verstanden,
