bildkoordinaten abfrage

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

izelude

Betreff: bildkoordinaten abfrage

BeitragMi, Apr 04, 2007 19:46
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo ich hab ein problem und zwar :

gibt es eine funktion mit der ich die koordinaten eines vorher gezeichneten bildes abfragen kann ?
es ist nämlich so das ich in einem array (zweidimensional, 10,10) ein bild von einem kleinen quadrat gespeichert hab. mit ner schleife hab ich dann das quadrat 100 mal zeichnen(jedes ist ein anderes aus dem array) lassen sodass es ein großes quadrat aus lauter kleinen ergibt.
jez will ich mit ner kollisionsabfrage immer eins der quadrate markiert haben (das über dem sich gerade die maus befindet) , aba dafür bräucht ich ja immer die koordinaten von den kleinen quadraten.

also gibt es da ne funktion die mir hilft ?
 

BlackTermi

BeitragMi, Apr 04, 2007 19:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm, weiss nicht ob ich das jetzt richtig verstanden habe, z.B. so:


Code: [AUSKLAPPEN]
Dim Array(9,9)

for x = 0 to 9
for y = 0 to 9
  Array(x,y) = Image ; hier kann man dann ja auch andere images einspeichern
next
next

for x2 = 0 to 9
for y2 = 0 to 9
  Drawimage array(x2,y2),posx+(x2*30),posy+(y2*30),0 ; also bei 30x30 tiles

if imagescollide(mausimage,mausx,mausy,mausframe,array(x2,y2),posx+(x2*30),posy+(y2*30),0 )

kollision = 1
endif



next
next

Bob

BeitragDo, Apr 05, 2007 9:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

Kollisionsabfrage sind dafür kaum notwendig.
Dies ist ein einfaches Raster oder Grid wie es in vielen 2D Spielen vorkomt

Teile die MausX Koordinate durch die Breite des Bildes
Teile die MausY Koordinate durch die Höhe des Bildes

Sollte deine Zeichnunge der Bilder bei 0,0 Beginnen war es das.
Du hast dann die ArrayKoordinte des Bides.
Andernfalls musst due ein Offset abziehen bzw. draufrechnen.


Code: [AUSKLAPPEN]

Graphics 800,600

Img = CreateImage(20,20)
Color 255,0,0
SetBuffer ImageBuffer(img)
Rect 0,0,20,20
SetBuffer BackBuffer()

Color 255,255,255

While Not KeyHit(0)
   
   mx = MouseX()
   my = MouseY()
   Rx = mx /20
   RY = my / 20
   For y = 0 To 9
      For X = 0 To 9
         DrawImage img,x*20,y*20
      Next
   Next
   
   Text 0,0,"Maus über " + rx + " | " +RY
   Flip
   Cls
   
Wend

   
 

izelude

BeitragFr, Apr 06, 2007 14:29
Antworten mit Zitat
Benutzer-Profile anzeigen
danke schön
bin halt noch anfänger und hab nich gewusst dsa es so auch geht

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group