Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

4.2: PUT mit Aktionswort XOR

Uploader:Redakteurnemored
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