Einzelnen Beitrag anzeigen

Sebastian Nintemann
(Gast)

n/a Beiträge
 
#3
  Alt 5. Nov 2002, 21:21
Hallo!

Also sowas wie Sprites stellt die PaintBox wohl wirklich nicht zur Verfügung, sie dient ja auch eigentlich nur zum zeichnen. Wenn du immer gleich große Symbole verwendest kannst du ja zB ein zweidimensionales Array anlegen in dem Positionen gespeichert werden. Also mal ein einfaches Beispiel, in dem du was auch immer du anzeigen willst durch strings darstellt (wie du es nun machst ist ja letztendlich egal).
Ist also nun zb ein Symbol an der Position (0,0) auf der PaintBox, dann setzt du in dem Array das entsprechende Feld auf 'Symbol1' , also arrayvar[0,0] := 'Symbol1' (oder sonstwie).
Ich gehe jetzt von 32 * 32 großen Symbolen aus. beim Klick prüfst du dann ob das angeklickte Rasterfeld besetzt ist:

Code:
if arrayvar[x div 32,y div 32] = 'Symbol1' then //tu irgendwas
//x und y sind die Mauskoordinaten
Mit den Linien wirds auch nicht viel schwerer (zumindest wenn diese nur vertikal/horizontal sein können)

Dafür machst du halt ein Array mit jeweils zwei Punkten (x und y Koordinate -> TPoint) pro Feld (also eine Linie pro Feld), dürchläufst dieses mit ner Schleife und prüfst ob die Mauskoordinaten zwischen den Punkten liegen. //so ungefähr


Gruß, Sebastian
  Mit Zitat antworten Zitat