Kollisionsproblem

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Spike

Betreff: Kollisionsproblem

BeitragMo, Feb 28, 2005 16:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

also ich richte mich nach der Idee von Divine

https://www.blitzforum.de/view...highlight=

Hier mal der code:

Code: [AUSKLAPPEN]

Graphics 500, 500, 32, 2
SetBuffer BackBuffer()

tileset = LoadAnimImage("GFX\tileset.bmp", 32, 32, 0, 11)
spieler = LoadAnimImage("GFX\spieler.bmp", 32, 32, 0, 4)
MaskImage tileset, 255, 0, 255
MaskImage spieler, 255, 0, 255

Const TILESIZE = 32

Const MAP_WIDTH = 19
Const MAP_HEIGHT = 19

LINKS = 203
RECHTS = 205
ESC = 1

Global SPIELER_X = 4
Global SPIELER_Y = 5

Dim Map( MAP_WIDTH, MAP_HEIGHT, 1 )

Restore MapData
For y = 0 to MAP_WIDTH
 For x = 0 to MAP_HEIGHT
    Read Map(x,y, 0)
 Next
Next


;HAUPTSCHLEIFE   ##############################

While not keyhit(1)
CLS

For y = 0 to MAP_WIDTH
 For x = 0 to MAP_HEIGHT
    DrawImage tileset, x * 32, y * 32, Map(x,y, 0)
 Next
Next

DrawImage Spieler, SPIELER_X * TILESIZE, SPIELER_Y * TILESIZE

KollisionOben = Map( SPIELER_Y - 1, PLAYER_X, 1 )
KollisionRechts = Map( SPIELER_Y, SPIELER_X + 1, 1 )
KollisionUnten = Map( SPIELER_Y + 1, SPIELER_X, 1 )
KollisionLinks = Map( SPIELER_Y, SPIELER_X - 1, 1 )

If KeyDown(LINKS) Then
 If KollisionLinks = False Then
  SPIELER_X = SPIELER_X - 1
 End If
End If

If KeyDown(RECHTS) Then
 If KollisionRechts = False Then
  SPIELER_X = SPIELER_X + 1
 End If
End If

Flip
wend

;ENDE HAUPTSCHLEIFE ###########################


.MapData
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,7,2,2,8,0,0,0,0,0,0,0,0,0,0,0
Data 1,2,2,2,2,9,6,6,10,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0




Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0




so ich hab des schon gerafft aber mein problem is, wie oder wo sage ich dem computer das er die kollision aus dem CollData auslesen soll also aus dem 2ten data feld
MfG Spike

Mez_K

BeitragDi, März 01, 2005 17:29
Antworten mit Zitat
Benutzer-Profile anzeigen
ich würd sagen:

KollisionLinks = map((SPIELER_X-1),SPIELER_Y)

also
if map((SPIELER_X-1),SPIELER_Y) = 0 then SPIELER_X = SPIELER_X -1
was ist der sinn des lebens?
das leben selbst?
das ei?
das huhn?

www.derfelix.de.gg ---> Downloads

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group