colli auf einer dim-map?

Übersicht BlitzBasic Allgemein

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

Seoman

BeitragFr, Jul 23, 2004 22:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Was man an den ach so liebevoll gestalteten Grafiken von "Bastard" sieht Very Happy

Hubsi

BeitragFr, Jul 23, 2004 22:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Laughing Laughing
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Ralff

BeitragSa, Jul 24, 2004 14:59
Antworten mit Zitat
Benutzer-Profile anzeigen
ich bin langsam am verzweifeln .
die tiles sind 32x32 Pixel groß.
der spieler auch .
die function hab ich ja schon gepostet .
eigentlich müsste es doch funktionieren.oder?
wenn es euch hilft kann ich euch ja den ganzen code posten.

helft mir bitte

Ralff
 

getlose

BeitragSo, Jul 25, 2004 16:03
Antworten mit Zitat
Benutzer-Profile anzeigen
ich code mal eben was, dauert n kleinen moment.
 

getlose

BeitragSo, Jul 25, 2004 16:42
Antworten mit Zitat
Benutzer-Profile anzeigen
gibts ja nicht mehr viel zu sagen :)
(in diesem Fall ist der Spieler 16*16 Pixel groß)


Code: [AUSKLAPPEN]


Graphics 320,240,16,2

Global map_width,map_height
Dim map(0,0)
Dim col(0,0)

createmap(20,20,0)
tiles=load_tiles("tiles.png") ;ggf. Pfad ändern !

SetBuffer BackBuffer()
While Not KeyHit(1)
Cls


drawmap(tiles)
act=get_cols(playerx,playery)


If act=1 Then
   Color 0,0,0
   Rect 0,0,100,30
   Color 200,200,200
   Text "Kollidiert !",0,0
EndIf


Flip
Wend







Function createmap(width,height,tile)
map_width=width
map_height=height
Dim map(width,height)
Dim col(width,height)
For x=0 To width
   For y=0 To height
      map(x,y)=tile
   Next
Next
End Function


Function drawmap(tiles)
For x=0 To map_width
   For y=0 To map_height
      DrawImage tiles,x*16,y*16,map(x,y)
   Next
Next
End Function

Function load_tiles(path$)
tmp=LoadImage (path$)
w=ImageWidth(tmp)
h=ImageHeight(tmp)
FreeImage tmp
tmp=LoadAnimImage (path$,16,16,0,(w/16)*(h/16))
Return tmp
End Function

Function get_cols(px,py)
For x=0 To map_width
   For y=0 To map_height
      If RectsOverlap (px,py,16,16,x*16,y*16,16,16) Then
         Return 1
      EndIf
   Next
Next
End Function


Ralff

BeitragSo, Jul 25, 2004 20:22
Antworten mit Zitat
Benutzer-Profile anzeigen
hi

jetzt funktionierts zwar aber ich kann nicht mehr scrollen.

jetzt ist das mein code:
Code: [AUSKLAPPEN]

Function movehero()


If KeyDown(205) Then

If map ((p_p_x+32)/32,(p_p_y+16)/32)=0 Then


p_p_x=p_p_x+4

EndIf
EndIf 

If KeyDown (203) Then
If map(p_p_x /32,(p_p_y +16) /32)=0 Then

p_p_x=p_p_x-4

EndIf
EndIf

If KeyDown(200) Then
If map((p_p_x +16) /32,p_p_y /32)=0 Then
p_p_y = p_p_y-4

EndIf
EndIf

If KeyDown(208) Then
If map((p_p_x +16) /32,(p_p_y +32) /32)=0 Then
p_p_y = p_p_y+4

EndIf
EndIf

End Function



kann mir jemand sagen was ich machen muss dass ich wieder scrollen kann?

mfg

ralff

Ralff

BeitragDi, Jul 27, 2004 20:45
Antworten mit Zitat
Benutzer-Profile anzeigen
hi

hurra ich hab es endlich geschafft. die lösung war eigentlich gar nicht so schwer. ich bin bloß nicht draufgekommen.
ich kann jetzt scrollen mit collision.

bis bald

Ralff

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group