REM OPL: spritedemo1 INCLUDE "BMP.OXH" PROC Main: LOCAL verz$(128), bild1$(128), bild2$(128), maske$(128), bm% LOCAL fr1&, fr2&, msk&, flash&, x&, y&, mask&, sprite&, n%, limit& verz$= "c:\sprite\" bild1$ = verz$ + "bild1.mbm" bild2$ = verz$ + "bild2.mbm" maske$ = verz$ + "maske.mbm" REM *** Bitmaps erzeugen & speichern *********** TRAP MKDIR verz$ bm%=gCREATEBIT(60,60,0) gFILL 60,60,0 TRAP gSAVEBIT maske$ gAT 20,1 : gFILL 20,58,2 TRAP gSAVEBIT bild1$ gFILL 60,60,0 : gAT 1,20 : gFILL 58,20,2 TRAP gSAVEBIT bild2$ gCLOSE bm% REM *** Bitmaps laden *************************** fr1&= BITMAPLOAD&:(bild1$,0) fr2&= BITMAPLOAD&:(bild2$,0) msk&= BITMAPLOAD&:(maske$,0) REM *** Sprite anlegen ************************** x&=30 : y&=30 flash&=0 sprite&=SPRITECREATE&:(0,x&,y&,flash&) REM *** zwei Frames einfügen ******************** mask&=1 SPRITEAPPEND:(250000,fr2&,msk&,mask&,0,0) SPRITEAPPEND:(1000000,fr1&,fr1&,mask&,0,0) REM *** Bitmap wurden zugewiesen, können entladen werden BITMAPUNLOAD:(fr1&) : BITMAPUNLOAD:(fr2&) : BITMAPUNLOAD:(msk&) REM *** Sprite zeichnen ************************* gGREY 1 : gAT 20,20 : gFILL 140,40,0 REM graue Kontrastfläche SPRITEDRAW: AT 1,1 : PRINT "Animiertes Sprite wird angezeigt, weiter mit Taste" BEEP 1,333 : WHILE KEY : ENDWH : GET REM *** Sprite verschieben ********************** AT 1,1 : PRINT "Sprite läuft ... " n%= 1 limit&= 130 WHILE x&