Also, hier die Frage, ich zeichne ein Jump'n'run-Level via
Code: Alles auswählen
DataSection
leveldaten:
data.l 1,1,1,1,1,1
data.l 1,0,0,0,0,1
data.l 1,1,1,1,1,1
;ist natürlich nicht das ganze Level
Procedure LevelEinlesen()
Restore leveldata
For Y = 0 To 30
For X = 0 To 24
Read LevelDaten(Y,X)
Next
Next
EndProcedure
Procedure LevelAusgeben()
For Y = 0 To 30
For X = 0 To 24
For i = 1 To 40
If LevelDaten(Y,X) = i
DisplayTransparentSprite(i,X * 32, Y * 32 - scroll_y)
EndIf
Next
Next
Next
EndProcedure
Code: Alles auswählen
If KeyboardPushed(#PB_Key_Left)
If LevelDaten(((player_y +16)+ scroll_y) /32,(player_x-4) /32)=0 And LevelDaten(((player_y +48)+ scroll_y) /32,(player_x-4)/32)=0
player_x-4
endif
ElseIf KeyboardPushed(#PB_Key_Right)
If LevelDaten(((player_y +16)+ scroll_y) /32,(player_x +32) /32)=0 And LevelDaten(((player_y +48)+ scroll_y) /32,(player_x +32)/32)=0
player_x+4
EndIf
EndIf
Muss ich jetzt auch für jeden Gegner die Kollision so berechnen, oder gibt es da einen einfacheren und vor allem schnelleren Weg?