home *** CD-ROM | disk | FTP | other *** search
- rem Sprite Showcase
-
- rem Standard Setup Code for all examples
- sync on : sync rate 0 : backdrop on : color backdrop 0
-
- rem Load images
- set image colorkey 255,0,255
- create animated sprite 1, "animspr.bmp", 4, 4, 16
- load image "ship.bmp",2
- load image "backdrop.bmp",3
-
- rem Setup backdrop sprite
- sprite 1001,0,0,3 : sprite 1002,0,0,3
- set sprite priority 1001,0 : set sprite priority 1002,0
- size sprite 1001,1024,1024 : size sprite 1002,1024,1024
-
- rem Setup asteroid sprite
- sprite 1,320,240,16 : size sprite 1,128,128 : offset sprite 1,64,64
-
- rem Array for finer asteroid data
- dim ast#(100)
-
- rem Copy animating sprite
- for t=2 to 99
- clone sprite 1,t
- sprite t,rnd(640+256)-128,rnd(1400)-400,16
- ast#(t)=sprite y(t)
- rotate sprite t,rnd(350)
- set sprite frame t,rnd(15)
- set sprite t,0,1
- a#=rnd(350) : s#=32
- sss#=64+(cos(a#)*s#)
- size sprite t,sss#,sss#
- offset sprite t,sss#/2,sss#/2
- if t<50
- set sprite priority t,1
- else
- set sprite priority t,3
- endif
- next t
-
- rem Setup ship sprite
- sprite 100,200,140,2
- set sprite priority 100,2
-
- rem Backdrop shift
- shiftx#=0
-
- rem Main loop
- do
-
- rem Move backdrop
- shiftx#=shiftx#+2.0
- sya#=wrapvalue(sya#+0.1)
- sy#=-260+(cos(sya#)*260)
- if shiftx#>1024.0 then shiftx#=shiftx#-1024
- sprite 1001,0-shiftx#,sy#,3 : sprite 1002,1024-shiftx#,sy#,3
-
- rem Control sprite auto-animation
- for t=1 to 99
- a#=wrapvalue(sprite angle(t)+1+rnd(2))
- rotate sprite t,90
- move sprite t,-3.0
- ast#(t)=ast#(t)-(sin(sya#)*0.3)
- if sprite x(t)<-128 then move sprite t,(640+256) : a#=rnd(350)
- sprite t,sprite x(t),ast#(t),sprite image(t)
- play sprite t,1,16,50
- rotate sprite t,a#
- next t
-
- rem Glide ship
- g#=wrapvalue(g#+1)
- h#=wrapvalue(h#+0.5)
- sprite 100,200,140+(sin(g#)*10),2
- scale sprite 100,100+sin(h#)*20.0
- rotate sprite 100,sin(sya#)*10.0
-
- rem Update screen
- sync
-
- rem End loop
- loop
-
-