Tile Prob - falle durch

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Rob_

Betreff: Tile Prob - falle durch

BeitragMi, Feb 02, 2005 23:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

ich sitze gard an einem Jump´AND(rambo^^)´run
und habe da so bei robsite.de den jump tut nur ich falle bei einem tile durch!
Beispiel:

Code: [AUSKLAPPEN]

Data 0,0,0,0,0,0,0,0,0,0
   Data 2,0,0,0,0,0,0,0,0,2
   Data 2,0,0,0,0,0,0,0,0,2
   Data 2,0,0,0,0,0,0,0,0,2
   Data 2,0,6,1,1,1,1,7,0,2
   Data 2,0,0,0,0,0,0,0,0,2
   Data 2,0,0,0,0,0,0,0,0,2
   Data 9,1,1,1,1,1,1,1,1,8


Ich falle durch die tiles 6 und 7 hindurch wieso?
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX
 

David

BeitragMi, Feb 02, 2005 23:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Weil du nicht auf Kollision testest? Sind wie alle Hellseher oder was?
Wie wärs mit entsprechendem Code?

grüße

Rob_

BeitragDo, Feb 03, 2005 0:46
Antworten mit Zitat
Benutzer-Profile anzeigen
sry,

Code: [AUSKLAPPEN]
Function init_jump()

   If KeyDown(key_space) Then
      If jump = False
         jump = True
         player_temp = 10
      EndIf
   EndIf
   
   If testmap(((player_x + 16) + tile_x) / 32,(player_y + tile_y) / 32) = 1 And jump = True Then
      jump = False
      tile_y = tile_y + 2
   EndIf
   
   If jump = True Then
      player_temp = player_temp -0.33
      tile_y = tile_y - player_temp
      If player_temp =< 0 Then
         If testmap(((player_x + 16) + tile_x) / 32,((player_y + 32) + tile_y) / 32) = 1 Then
            jump = 0
            temp = (player_y + tile_y) / 32
            tile_y = (temp * 32) - player_y
         EndIf
      EndIf
   EndIf
   
   If jump = False Then
      If testmap(((player_x + 16) + tile_x) / 32,((player_y + 32) + tile_y) / 32) = 0 Then
         jump = True
         player_temp = 0
      EndIf
   EndIf
   
   If tile_y < - 160 Then
      tile_y = - 160
      jump = True
      player_temp = 0
   EndIf
   
   If tile_y > 160 Then
      tile_y = 160
      jump = False
   EndIf
   
End Function
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX

Ebola33

BeitragDo, Feb 03, 2005 3:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmmm....tja, ich weiss nicht wie man's noch komplizierter machen kann...also 1. Variablen besser benennen... 2. nachdenken.... 3. nicht mit data/read arbeiten....
edit: mit data/read meite ich nicht diesen thread.
ansteckend... Wink
verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/

Hubsi

BeitragDo, Feb 03, 2005 11:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Fehler liegt hier:Zitat:
If testmap(((player_x + 16) + tile_x) / 32,((player_y + 32) + tile_y) / 32) = 1 Then
Du überprüfst nur auf 1 also fällt er bei allem anderen durch, klar. Besser wäre es Bereiche festzulegen, z.B. ist alles von 1 bis 200 durchlässig, ab 200 aufwärts kann man nicht durch, tiles 400 buis 600 sind animiert... So hast Du es viel leichter wenn Du irgendwas dazufügen willst, wie z.B. Powerups oder sonstwas.

P.S.: Mit dem Code von Lasse hab ichs damals auch gelernt, geistert der immernoch durchs Netz? Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group