fb:porticula NoPaste
4.2: PUT mit Aktionswort XOR
Uploader: | nemored |
Datum/Zeit: | 24.09.2011 12:08:00 |
Hinweis: Dieser Quelltext ist Bestandteil des Projekts OpenBook: 2D-Spieleprogrammierung, zu dem es auf FreeBASIC-Portal.de eine Projektseite gibt.
' *** CODE 4.2: PUT mit Aktionswort XOR
#DEFINE PI 3.141592653589793
SCREENRES 300, 200 ' Grafikscreen, indizierte Farben
DIM AS ANY PTR bild
DIM AS INTEGER farbe = 12
' Bild in den Puffer schreiben
bild = IMAGECREATE(40, 40)
CIRCLE bild, (20, 25), 15, farbe, PI, 0, .6
LINE bild, (5, 20)-step (0, 5), farbe
LINE bild, (35, 20)-step (0, 5), farbe
CIRCLE bild, (20, 20), 15, farbe, , , .6
PAINT bild, (20, 30), farbe, farbe
PAINT bild, (20, 20), farbe-8, farbe
' Hintergrund erstellen
LINE (50, 50)-(250, 150), 2, BF ' gruenes Rechteck ...
LINE (80, 80)-(220, 120), 3, BF ' ... und darin ein blaues
DIM AS INTEGER mausX = 0, mausY = 0, mausB ' Mausposition und Buttonstatus
SETMOUSE mausX, mausY, 0, 1 ' Maus auf das Fenster beschraenken
PUT (mausX, mausY), bild, XOR
DO
PUT (mausX, mausY), bild, XOR ' alte Position loeschen
GETMOUSE mausX, mausY, , mausB ' neue Position ermitteln ...
IF mausX > 260 THEN mausX = 260 ' ... und an den Grenzen anpassen
IF mausy > 160 THEN mausX = 160
PUT (mausX, mausY), bild, XOR ' neue Position zeichnen
SLEEP 1
LOOP UNTIL mausB > 0 OR INKEY = CHR(27) ' bei Mausklick oder ESC beenden
IMAGEDESTROY bild ' Bildpuffer freigeben