Jump n Run Sprung (Allgemein)
Übersicht

![]() |
ProducerBetreff: Jump n Run Sprung (Allgemein) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also irgendwie habe ich leichte Probleme mit realistischem Sprung Verhalten in Jump n Runs... Bisher habe ich das immer folgendermaßen gelöst (Ist jetzt nur mal schnell geschriebener Pseudocode - gehört zu keinem Projekt oder so):
Code: [AUSKLAPPEN] if KeyHit(SPRUNGTASTE) then sprung=1 endif if sprung=1 then if positionY<MAX_SPRUNGHÖHE positionY=positionY+1 else sprung=2 endif endif if sprung=2 then if positionY>BODENHÖHE positionY=positionY-1 else sprung=0 endif endif Ich hoffe ihr versteht was ich meine ![]() Aber so ganz realistisch ist das ja nicht gerade... ![]() Wie code ich Sprünge besser? Danke schon mal für jegliche Hilfe |
||
in this world, all i got is my word and my balls, and i don't break em for nobody |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zum Beispiel mit einer Y-Geschwindigkeitsvarieble.
PseudoCode: [AUSKLAPPEN] y = y + y_speed# If y> BODENHOEHE Then y = BODENHOEHE If KeyHit( LEERTASTE ) Then y_speed = y_speed - 5.0 ;oder so, den wert anpassen EndIF y_speed = y_speed + .0 ;Gravitation |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
beginr |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also ich würds so machen (bin aber nicht ganz sicher)
PseudoCode: [AUSKLAPPEN] n = floor#(sqr#(sprunghoehe*2)); n solltest du so waehlen, dass deine sprunghoehe ;ungefaehr n*(n+1)/2 betraegt
if keyhit(sprungtaste) then spring() endif function spring() for i = 1 to n yposition = yposition + i next ; max. sprunghoehe erreicht delay wartezeit; mit versch. werten experimentieren for i = 1 to n yposition = yposition - i next end function dies müsste den fall- und hochspringvorgang relativ gut simulieren, optimal ist es, wenn deine sprunghoehe wirklich n*(n+1)/2 ist. sorry es muss floor# statt ceil# heissen, hab mich vertan. |
||
- Zuletzt bearbeitet von beginr am Mo, Apr 21, 2008 14:40, insgesamt einmal bearbeitet
![]() |
Nibor |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du könntest die höhenänderunen in nem Feld speichern:
Code: [AUSKLAPPEN] Dim feld(20)
for A=0 to 30 read feld(A) next data 0,5,4,4,3,3,3,2,2,2,1,1,0,0,0,0,0,0,-1,-1,-2,-2,-2,-3,-3,-3,-4,-4,-5,0 if KeyHit(SPRUNGTASTE) and sprung=0 then sprung=1 endif if sprung>=1 then positionY=positionY+feld(sprung) sprung=sprung+1 endif if sprung>=30 then sprung=0 |
||
http://www.blitzforum.de/showcase/203/ |
![]() |
Producer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke euch allen ![]() Funktioniert super! (Habe die Variante mit Feldern genommen) |
||
in this world, all i got is my word and my balls, and i don't break em for nobody |
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nix für ungut, aber die von D2006 angedeutete Lösung ist die einzig sinnvolle für ein klassisches Jump&Run-Spiel.
Mit den anderen Krücken wirst Du früher oder später schön Probleme bekommen. Blup. |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
![]() |
DerHase |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich bin mit Big Bug einer Meinung ![]() |
||
Play Satyr! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group