Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [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

10.2: Scrolling

Uploader:Redakteurnemored
Datum/Zeit:29.10.2011 00:43:40
Hinweis: Dieser Quelltext ist Bestandteil des Projekts OpenBook: 2D-Spieleprogrammierung, zu dem es auf FreeBASIC-Portal.de eine Projektseite gibt.

' *** CODE 10.2: Scrolling

SCREENRES 200, 200, 32
SETMOUSE 100, 100,, 1
DIM bild AS ANY PTR, datei AS STRING = "meinBild.bmp"
DIM AS INTEGER breit, hoch, dateinr
DIM AS INTEGER posX = 0, posY = 0, mausX, mausY, mausButton

' Bildgroesse (Breite und Hoehe) auslesen
dateinr = FREEFILE
OPEN datei FOR BINARY AS #dateinr
GET #dateinr, 19, breit
GET #dateinr, 23, hoch
CLOSE #dateinr

' Bildpuffer erstellen und Bild laden
bild = IMAGECREATE(breit, hoch)
BLOAD datei, bild
PUT (0, 0), bild, (posX, posY)-STEP(199, 199), PSET
DO
  GETMOUSE mausX, mausY,, mausButton
  ' Verschiebungen durchfuehren
  IF mausX < 10 AND posX > 0 THEN               ' nach links schieben
    posX -= 1 : PUT (0, 0), bild, (posX, posY)-STEP(199, 199), PSET
  END IF
  IF mausY < 10 AND posY > 0 THEN               ' nach oben schieben
    posY -= 1 : PUT (0, 0), bild, (posX, posY)-STEP(199, 199), PSET
  END IF
  IF mausX > 190 AND posX < breit-200 THEN      ' nach rechts schieben
    posX += 1 : PUT (0, 0), bild, (posX, posY)-STEP(199, 199), PSET
  END IF
  IF mausY > 190 AND posY < hoch-200 THEN       ' nach unten schieben
    posY += 1 : PUT (0, 0), bild, (posX, posY)-STEP(199, 199), PSET
  END IF
  SLEEP 1
LOOP UNTIL mausButton > 0
IMAGEDESTROY bild