Gegen eine Farbe kollidieren???

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

<Felix>

Betreff: Gegen eine Farbe kollidieren???

BeitragMi, Feb 28, 2007 16:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Servus,
ich bin gerade dabei ein Labyrinth zu programmieren. Ich habe dieses Labyrinth bereits als Bild. Der Boden ist weiß und die Abgrenzungen sind schwarz. Könnte ich also sagen, dass wenn das Bild(die Figur, die durch das Labyrinth muss) gegen die Abgrenzung (gegen die Farbe schwarz) stößt, stehen bleibt. Ist das möglich und wenn ja, wie funktioniert es?

Soweit bin ich bereits mit meinem Code:
Code: [AUSKLAPPEN]


Graphics 800,600,0,0
SetBuffer BackBuffer()
SeedRnd MilliSecs()

ritter=LoadImage("mexikaner.bmp");Figur, die durch das Labyrinth läuft
x=100;Startkoordinaten
y=100


hintergrund=LoadImage("laby6.bmp");Bild des Labyrinthes

frameTimer=CreateTimer(60)


While Not KeyDown(1)

   Cls

   WaitEvent (frameTimer)

      If KeyDown(200) Then  y=y-4
      If KeyDown(203) Then  x=x-4
      If KeyDown(205) Then  x=x+4
      If KeyDown(208) Then  y=y+4

   i=1
    While Not i=5
       If ImagesOverlap(schwarze Farbe, ritter, x, y) And KeyDown(203) Then   x=x+4
      If ImagesOverlap(schwarze Farbe, ritter, x, y) And KeyDown(205) Then   x=x-4
      If ImagesOverlap(schwarze Farbe, ritter, x, y) And KeyDown(200) Then   y=y+4
      If ImagesOverlap(schwarze Farbe, ritter, x, y) And KeyDown(208) Then   y=y-4
      i=i+1
   Wend
 
   DrawImage hintergrund,0,0
    DrawImage ritter,x,y
      Flip
Wend
 
End



Danke jetzt schon,

Felix
http://www.c-programmieren.com/

pixelshooter

BeitragMi, Feb 28, 2007 16:45
Antworten mit Zitat
Benutzer-Profile anzeigen
mach doch ein bild mit den wänden des labyrinthes, das du zwar nicht einzeichnest, aber auf der position des labyrinths auf kollision überprüfst
>> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, Feb 28, 2007 16:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst es zB mit ql:ReadPixel, ql:ReadPixelFast oder mit ql:GetColor machen. denoch würde ich anstelle einem Bild das ganze als Tilegrafik machen. Suche mal dazu nach 'Tilemap' oder hier ein kleines Beispiel: https://www.blitzforum.de/foru...hp?t=22427
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

bruce85

BeitragMi, Feb 28, 2007 17:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
Ich würde das ganze auch mit einer Tilemap machen, da es einfacher ist und nicht so umständlich wie jedes einzelne Bild auf kollisions zu überprüfen.

MfG Andreas
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250

ZaP

BeitragMi, Feb 28, 2007 17:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Invertier die Farben und benutze dann LoadTerrain()
Starfare: Worklog, Website (download)

skey-z

BeitragMi, Feb 28, 2007 18:48
Antworten mit Zitat
Benutzer-Profile anzeigen
ZaP hat Folgendes geschrieben:
Invertier die Farben und benutze dann LoadTerrain()


Quatsch!

1. du weist nicht, ob er Blitz3D hat.

2. die wände würden nicht gerade nach oben gehen, sondern schräg verlaufen, wenn schon, dann muss man sich selber ein mesh generieren oder immer 2 pixel nebeneinander setzen, um überhaupt einen weg zu bekommen, die schrägen Wände bleiben dann jedoch.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter

ZaP

BeitragMi, Feb 28, 2007 18:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Ohh... hab ich ganz vergessen Embarassed
Ich denk halt immer in bb3d dimensionen..
Starfare: Worklog, Website (download)
 

<Felix>

BeitragDo, März 01, 2007 19:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die Antworten,

aber leider arbeite ich nicht mit Blitz3D, sondern mit BlitzPlus.

Ich glaub ich probier's erstmal mit dem ReadPixel, ReadPixelFast oder mit GetColor.

Danke nochmal,

Felix
http://www.c-programmieren.com/

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group