Wow! I never thought of making a circle like that.
Here`s how I did it:
rem circle example
rem by thecomet
rem 29,12,2007
rem setup screen
sync on
sync rate 30
backdrop on
color backdrop rgb(255,255,255)
hide mouse
rem setup game
gosub _init
rem main loop
do
rem control game
gosub _control_camera
gosub _control_snowflakes
rem refresh screen
sync
rem end of main loop
loop
rem *******************************************
rem * SUBROUTINES *
rem *******************************************
_init:
rem create a bitmap for the matrix
create bitmap 1,50,50
rem color bitmap white
for x=0 to 50
for y=0 to 50
ink rgb(255,255,255),0
dot x,y
next y
next x
rem make snow dots on it
ink rgb(0,255,255),0
for x=0 to 50
for y=0 to 50
if rnd(10)=0 then dot x,y
next y
next x
get image 1,0,0,50,50
delete bitmap 1
rem make the matrix
make matrix 1,1000,1000,20,20
prepare matrix texture 1,1,2,2
fill matrix 1,0,1
randomize matrix 1,50
rem make hills around the matrix
for x=0 to 20
for y=0 to 2
set matrix height 1,x,y,rnd(100)+50
next y
for y=18 to 20
set matrix height 1,x,y,rnd(100)+50
next y
next x
for y=0 to 20
for x=0 to 2
set matrix height 1,x,y,rnd(100)+50
next x
for x=18 to 20
set matrix height 1,x,y,rnd(100)+50
next x
next y
rem made centre flat
for x=5 to 15
for y=5 to 15
set matrix height 1,x,y,0.0
next y
next t
update matrix 1
rem make a red texture to save ram space
create bitmap 1,1,1
ink rgb(255,0,0)
dot 0,0
get image 3,0,0,1,1
delete bitmap 1
rem make a circle of fire:
for t=2 to 33
make object plain t,50,50
position object t,500,24,500
texture object t,3
next t
rem explode objects into a circle
for t=2 to 33
inc fy#,11.25 : fy#=wrapvalue(fy#)
yrotate object t,fy#
move object t,250
next t
rem make snowflakes
create bitmap 1,10,10
for x=0 to 10
for y=0 to 10
ink 0,0
dot x,y
next y
next x
for x=4 to 6
for y=4 to 6
ink rgb(255,255,255),0
dot x,y
next y
next x
get image 2,0,0,5,5
delete bitmap 1
for t=58 to 61
make object plain t,800,800
position object t,500,399,500
texture object t,2
set object t,1,0,0
scale object texture t,64,64
ghost object on t
yrotate object t,y#
inc y#,45 : y#=wrapvalue(y#)
next t
return
_control_camera:
a#=wrapvalue(a#+0.3)
position camera newxvalue(500,a#,300),100,newzvalue(500,a#,300)
point camera 500,0,500
return
_control_snowflakes:
for t=58 to 61
scroll object texture t,0.0001,-0.03
next t
return
Oooooops!!! I accidentally formated drive c.