Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [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

9.3: Rotation und Skalierung

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

' *** CODE 9.3: Rotation und Skalierung

#INCLUDE "multiput.bi"
SCREENRES 400, 300, 32
DIM AS SINGLE rotation = 0, groesse = 1
DIM AS INTEGER mausX, mausY, mausR, mausB, rad

' Bild erstellen
DIM AS ANY PTR bild = IMAGECREATE(50, 50, 0)
LINE bild, (49, 49)-(0, 20), &h0000FF, BF
LINE bild, -(24, 0), &h0000FF
LINE bild, -(49, 20), &h0000FF
PAINT bild, (24, 10), &h00FFFF, &h0000FF

' Hauptprogramm
DO
  SETMOUSE 200, 150, 0, -1
  SLEEP 10
  GETMOUSE mausX, mausY, mausR, mausB
  IF mausX < 0 THEN CONTINUE DO           ' ausserhalb des Fensters
  rotation += (mausX-200)/50
  groesse += (rad-mausR)/10
  IF groesse < 0.1 THEN groesse = 0.1     ' minimale Groesse
  IF groesse > 4 THEN groesse = 4         ' maximale Groesse
  rad = mausR
  SCREENLOCK
  CLS
  MultiPut , 200, 150, bild, groesse, groesse, rotation
  SCREENUNLOCK
LOOP UNTIL mausB > 0 OR INKEY <> ""

' aufraeumen und beenden
IMAGEDESTROY bild