Nach Sprung auf Boden Fallen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Manner

Betreff: Nach Sprung auf Boden Fallen

BeitragSo, Jan 29, 2012 2:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey ich bins schon wieder Smile
Also ich möchte ein Jump'n'Run machen bei dem der spieler, wie sollte es anders sein, springen kann. Meine gravitation lässt den player auch immer schön auf den Boden fallen aber wenn er springen SOLL verhindert das die Gravitation... ich hab schon alles in meiner macht stehende ausprobiert Sad Kann mir da jemand helfen?

Gravitations Code:
Code: [AUSKLAPPEN]
   
         my = my + gravity
   playerposy  = playerposy +my
   
   If playerposy > ground - playerheight Then
      If Not KeyHit(52) Then
         playerposy = ground - playerheight   
      EndIf
   EndIf

Midimaster

BeitragSo, Jan 29, 2012 2:12
Antworten mit Zitat
Benutzer-Profile anzeigen
dir fehlt ein Zwischenschritt: Die Gravitation (Gravity) ist ein Wert, der die DownSpeed (my) ,die zunächst bei 0 startet, immer größer werden lässt. Erst diese DownSpeed wird vom y-Wert abgezogen und solange vergrößert bis der Boden erreicht wird. Danach ist die DownSpeed wieder 0. Das würde bei Dir bedeuten, das irgendwo Code: [AUSKLAPPEN]
My=0
...reingehört...

BlitzBasic: [AUSKLAPPEN]
   
my = my + gravity
playerposy = playerposy +my

If playerposy > ground - playerheight Then
my=0 ; vielleicht hier ???
If Not KeyHit(52) Then
playerposy = ground - playerheight
EndIf
EndIf

Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe
 

Manner

BeitragSo, Jan 29, 2012 2:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Vielen DANK Smile
das ich da nich selber drauf gekommen bin Shocked

Bekommst nen <3 DAAANKEEEE
 

Preakz

Betreff: Gravity?...

BeitragMo, Jan 30, 2012 11:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab so in etwa das gleiche Problem.
Ich weiß nicht wie ich das überhaupt anstellen soll mit der Gravitation... (Mit Tilemap).
Hier ma meine jetzige Function...(habe die genommen wo ich noch nicht gebastelt und getestet habe...)


BlitzBasic: [AUSKLAPPEN]
Function ControlPlayer()
If player_move=0 Then
;Wenn nicht gerade eine Bewegung ausgeführt wird Spieler steuern
;Links
If player_tilex>0 Then
If (KeyDown(203) And map(player_tilex-1,player_tiley)=2)=True Then player_move=1
EndIf
;Rechts
If player_tilex<map_width Then
If (KeyDown(205) And map(player_tilex+1,player_tiley)=2)=True Then player_move=2
EndIf
;Rauf
If player_tiley>0 Then
If (KeyDown(200) And map(player_tilex,player_tiley-1)=2)=True Then player_move=3
EndIf
;Runter
If player_tiley<map_height Then
If (KeyDown(208) And map(player_tilex,player_tiley+1)=2)=True Then player_move=4
EndIf
;Sprung Links
If (player_Tiley>0 And player_Tiley<map_height)=True And (player_tilex<map_width And player_tilex>0)=True Then
If (KeyDown(203) And KeyDown(200))=True And (map(player_tilex-1,player_tiley-1)=2)=True Then player_move=5
EndIf
;Sprung Rechts
If (player_Tiley>0 And player_Tiley<map_height)=True And (player_tilex<map_width And player_tilex>0)=True Then
If (KeyDown(205) And KeyDown(200))=True And (map(player_tilex+1,player_tiley-1)=2)=True Then player_move=6
EndIf
Else
;Reaktion auf die Bewegungsvariable
Select player_move
Case 1
player_richtung=False
player_x=player_x-4

Case 2
player_richtung=True
player_x=player_x+4
Case 3 player_y=player_y-4
Case 4 player_y=player_y+4
Case 5 ;Sprung links
player_richtung=False
sprungy = player_y
sprungx = player_x
For u = sprungy To player_y
For r = sprungx To player_x
Player_y= u-4
player_x= r-4
Next
Next


Case 6 ;Sprung rechts
player_richtung=True
sprungy = player_y
sprungx = player_x
For u = player_y To sprungy +8
For r = player_x To sprungx
Player_y= u-4
player_x= r+4
Next
Next

End Select

;Feststellen ob Bewegung abgeschlossen ist
;ACHTUNG! Diese Überprüfung funktioniert nur solange die Bewegungsgeschwindigkeit ein Teiler von 32, sprich 1,2,4,8 oder 16 ist
If player_x Mod 32=0 And player_y Mod 32=0 Then
player_move=0
EndIf
EndIf

;Umrechnung von Pixel auf Tile
player_tilex=player_x/32
player_tiley=player_y/32
End Function


Mfg
Preakz...

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group