fb:porticula NoPaste
9.3: Rotation und Skalierung
Uploader: | nemored |
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