Some code for you to test it: (just ctrl+c, ctrl+v)
Code: Select all
initsprite()
initkeyboard()
openscreen(320,240,16,"")
Procedure ScreenSizeSprite(s.l)
usebuffer(s)
startspecialfx():displaysprite(s,0,0):stopspecialfx()
usebuffer(-1)
EndProcedure
createsprite(0,128,128)
startdrawing(spriteoutput(0))
for y=0 to 63
c=1+random(15):mc=c
for x=0 to 63
c=c-1
if c<=-mc:c=1+random(15):mc=c
if x+c+16>63:c=(63-x)/2:mc=c:endif
red=random(2):endif
color=127-abs(127*c)/mc
plot(x+64,y+64,rgb(color*red,255-abs(x-32)*7,y*4))
plot(x+64,y,rgb(color*red,255-abs(x-32)*7,y*4))
plot(x,y+64,rgb(color*red,255-abs(x-32)*7,y*4))
plot(x,y,rgb(color*red,255-abs(x-32)*7,y*4))
next x
next y
stopdrawing()
usebuffer(0)
for g=0 to 63
grabsprite(200+g,g,0,64,48,#pb_sprite_memory)
grabsprite(100+g,g,g,64,48,#pb_sprite_memory)
next g
usebuffer(-1)
for g=0 to 63
usebuffer(100+g)
displaytranslucidesprite(263-g,0,0,64)
next g
repeat
i=i+1:if i>63:i=0:endif
ScreensizeSprite(100+i)
examinekeyboard()
flipbuffers()
until keyboardpushed(#pb_key_escape)
Sorry, it's a bit messy...
