Yep! Another one
This one uses the
Set Sprite Diffuse command, which has now been fixed with the release of Patch 4.
set display mode 640,480,16 : sync on : sync rate 40 : hide mouse : randomize timer()
for a = 0 to 360 step 10 : x1 = newxvalue(100,a,50) : y1 = newzvalue(100,a,50)
for b = 0 to 360 step 10 : x2 = newxvalue(x1,b,50) : y2 = newzvalue(y1,b,50)
box x2,y2,x2+1,y2+1 : next b : next a
get image 1,0,0,200,200,1
sprite 1,320,240,1 : set sprite 1,0,1 : offset sprite 1,100,100
sprite 2,320,240,1 : set sprite 2,0,1 : offset sprite 2,100,100
dr = 2 : dg = 1 : db = 3 : diffR = rnd(250) : diffG = rnd(250) : diffB = rnd(250)
scale# = 100 : sd# = 1.0 : cls 0
repeat
scale# = scale# + sd# : if scale# > 400.0 or scale# < 10.0 then sd# = -sd#
diffR = diffR + dr : if (diffR + dr) > 255 or (diffR + dr) < 0 then dr = -dr
diffG = diffG + dg : if (diffG + dg) > 255 or (diffG + dg) < 0 then dg = -dg
diffB = diffB + db : if (diffB + db) > 255 or (diffB + db) < 0 then db = -db
set sprite diffuse 1,diffR,diffG,diffB : scale sprite 1, scale# : rotate sprite 1,wrapvalue(sprite angle(1) + 0.25)
set sprite diffuse 2,diffB,diffR,diffG : scale sprite 2, 410.0-scale# : rotate sprite 2,wrapvalue(sprite angle(2) + 0.25)
sync
until scancode() <> 0
Programming anything is an art, and you can't rush art.
Unless your name is Bob Ross, then you can do it in thirty minutes.