`Rain particle generator
`By Kentaree 19/05/03
`http://members.lycos.co.uk/darknessrising/
`Setup program environment.
sync on
sync rate 60
autocam off
`Load media.
load image "rain.jpg",1
`Set up an array holding position and speed of particles
dim rain(50,4)
xPos=0
yPos=1
zPos=2
speed=3
`Position the camera
position camera 0,12,-20
`Make all the particles
gosub _setupParticles
`Main game loop
do
randomize timer()
gosub _moveParticles
sync
loop
_setupParticles:
`Make textured and ghosted plains numbered 1 to 50, and set transparency on
for i=1 to 50
make object plain i, 1,1
set object i,1,0,0
texture object i,1
ghost object on i
`Setup array values for each particles holding the positional data
rain(i-1,xPos)=(int(rnd(40)+1))-20: `X coordinate of particle
rain(i-1,yPos)=25: `Y coordinate of particle
rain(i-1,zPos)=(int(rnd(5)+1)): `Z coordinate of particle
rain(i-1,speed)=(int(rnd(3)+1)): `Speed of particle
`Position object for start
position object i, rain(i-1,xPos), rain(i-1,yPos), rain(i-1,zPos)
next i
return
_moveParticles:
for i=1 to 50
`Move particle down according to speed value, which makes a random effect
rain(i-1,yPos)=rain(i-1,yPos)-rain(i-1,speed)
`If particle goes too low, set new position
if rain(i-1,yPos)<0
rain(i-1,xPos)=(int(rnd(40)+1))-20
rain(i-1,yPos)=25
rain(i-1,zPos)=(int(rnd(5)+1))
rain(i-1,speed)=(int(rnd(3)+1))
endif
`Position particle
position object i, rain(i-1,xPos), rain(i-1,yPos), rain(i-1,zPos)
next i
return
`Rain particle generator v1.1
`By Kentaree 19/05/03
`http://members.lycos.co.uk/darknessrising/
`Setup program environment.
sync on
sync rate 60
autocam off
`Load media.
load image "rain.jpg",1
`Set up an array holding position and speed of particles
dim rain(50,4)
xPos=0
yPos=1
zPos=2
speed=3
`Make all the particles
gosub _setupParticles
`Main game loop
do
randomize timer()
gosub _moveParticles
sync
loop
_setupParticles:
`Make textured and ghosted plains numbered 1 to 50, and set transparency on
for i=1 to 50
make object plain i, 1,1
set object i,1,0,0
texture object i,1
ghost object on i
disable object zdepth i
lock object on i
`Setup array values for each particles holding the positional data
rain(i-1,xPos)=(int(rnd(40)+1))-20: `X coordinate of particle
rain(i-1,yPos)=25: `Y coordinate of particle
rain(i-1,zPos)=(int(rnd(5)+1))+20: `Z coordinate of particle
rain(i-1,speed)=(int(rnd(3)+1)): `Speed of particle
`Position object for start
position object i, rain(i-1,xPos), rain(i-1,yPos), rain(i-1,zPos)
next i
return
_moveParticles:
for i=1 to 50
`Move particle down according to speed value, which makes a random effect
rain(i-1,yPos)=rain(i-1,yPos)-rain(i-1,speed)
`If particle goes too low, set new position
if rain(i-1,yPos)<-15
rain(i-1,xPos)=(int(rnd(40)+1))-20
rain(i-1,yPos)=25
rain(i-1,zPos)=(int(rnd(5)+1))+20
rain(i-1,speed)=(int(rnd(3)+1))
endif
`Position particle
position object i, rain(i-1,xPos), rain(i-1,yPos), rain(i-1,zPos)
next i
return
`Rain particle generator v1.1
`By Kentaree 19/05/03
`http://members.lycos.co.uk/darknessrising/
`Setup program environment.
sync on
sync rate 60
autocam off
`Load media.
load image "rain.jpg",1
`Set up an array holding position and speed of particles
dim rain(50,4)
xPos=0
yPos=1
zPos=2
speed=3
`Make all the particles
gosub _setupParticles
`Main game loop
do
randomize timer()
gosub _moveParticles
sync
loop
_setupParticles:
`Make textured and ghosted plains numbered 1 to 50, and set transparency on
for i=1 to 50
make object plain i, 1,1
set object i,1,0,0
texture object i,1
ghost object on i
lock object on i
`Setup array values for each particles holding the positional data
rain(i-1,xPos)=(int(rnd(40)+1))-20: `X coordinate of particle
rain(i-1,yPos)=25: `Y coordinate of particle
rain(i-1,zPos)=(int(rnd(5)+1))+200: `Z coordinate of particle
rain(i-1,speed)=(int(rnd(3)+1)): `Speed of particle
`Position object for start
position object i, rain(i-1,xPos), rain(i-1,yPos), rain(i-1,zPos)
next i
return
_moveParticles:
for i=1 to 50
`Move particle down according to speed value, which makes a random effect
rain(i-1,yPos)=rain(i-1,yPos)-rain(i-1,speed)
`If particle goes too low, set new position
if rain(i-1,yPos)<-15
rain(i-1,xPos)=(int(rnd(40)+1))-20
rain(i-1,yPos)=25
rain(i-1,zPos)=(int(rnd(5)+1))+20
rain(i-1,speed)=(int(rnd(3)+1))
endif
`Position particle
position object i, rain(i-1,xPos), rain(i-1,yPos), rain(i-1,zPos)
next i
return
`Rain particle generator v1.1
`By Kentaree 19/05/03
`http://members.lycos.co.uk/darknessrising/
`Setup program environment.
sync on
sync rate 60
autocam off
`Load media.
load image "C:Program FilesDark Basic SoftwareDark Basic Litemediarain.jpg",1
`Set up an array holding position and speed of particles
dim rain(50,4)
xPos=0
yPos=1
zPos=2
speed=3
`Make all the particles
gosub _setupParticles
`Main game loop
do
randomize timer()
gosub _moveParticles
sync
loop
_setupParticles:
`Make textured and ghosted plains numbered 1 to 50, and set transparency on
for i=1 to 50
make object plain i, 1,1
set object i,1,0,0
texture object i,1
ghost object on i
disable object zdepth i
lock object on i
`Setup array values for each particles holding the positional data
rain(i-1,xPos)=(int(rnd(40)+1))-20: `X coordinate of particle
rain(i-1,yPos)=25: `Y coordinate of particle
rain(i-1,zPos)=(int(rnd(500)+1))+20: `Z coordinate of particle
rain(i-1,speed)=(int(rnd(3)+1)): `Speed of particle
`Position object for start
position object i, rain(i-1,xPos), rain(i-1,yPos), rain(i-1,zPos)
next i
return
_moveParticles:
for i=1 to 50
`Move particle down according to speed value, which makes a random effect
rain(i-1,yPos)=rain(i-1,yPos)-rain(i-1,speed)
`If particle goes too low, set new position
if rain(i-1,yPos)<-15
rain(i-1,xPos)=(int(rnd(40)+1))-20
rain(i-1,yPos)=25
rain(i-1,zPos)=(int(rnd(500)+1))+20
rain(i-1,speed)=(int(rnd(3)+1))
endif
`Position particle
position object i, rain(i-1,xPos), rain(i-1,yPos), rain(i-1,zPos)
next i
return
`Rain particle generator v1.1
`By Kentaree 19/05/03
`http://members.lycos.co.uk/darknessrising/
`Setup program environment.
sync on
sync rate 60
autocam off
`Load media.
load image "C:\Program Files\Dark Basic Software\Dark Basic Lite\media\rain.jpg",1
`Set up an array holding position and speed of particles
dim rain(500,4)
xPos=0
yPos=1
zPos=2
speed=3
`Make all the particles
gosub _setupParticles
`Main game loop
do
randomize timer()
gosub _moveParticles
sync
loop
_setupParticles:
`Make textured and ghosted plains numbered 1 to 50, and set transparency on
for i=1 to 500
make object plain i, 1,1
set object i,1,0,0
texture object i,1
ghost object on i
disable object zdepth i
lock object on i
`Setup array values for each particles holding the positional data
rain(i-1,zPos)=(int(rnd(500)+1))+20: `Z coordinate of particle
rain(i-1,xPos)=(int(rnd(rain(i-1,zPos)*.8)*2+1))-rain(i-1,zPos)*.8: `X coordinate of particle
rain(i-1,yPos)=(int(rnd(rain(i-1,zPos)*.6)*2+1)): `Y coordinate of particle
rain(i-1,speed)=(int(rnd(3)+1)): `Speed of particle
`Position object for start
position object i, rain(i-1,xPos), rain(i-1,yPos), rain(i-1,zPos)
next i
return
_moveParticles:
for i=1 to 500
`Move particle down according to speed value, which makes a random effect
rain(i-1,yPos)=rain(i-1,yPos)-rain(i-1,speed)
`If particle goes too low, set new position
if rain(i-1,yPos)<-15
rain(i-1,zPos)=(int(rnd(500)+1))+20
rain(i-1,xPos)=(int(rnd(rain(i-1,zPos)*.8)*2+1))-rain(i-1,zPos)*.8
rain(i-1,yPos)=(int(rnd(rain(i-1,zPos)*.6)*2+1))
rain(i-1,speed)=(int(rnd(3)+1))
endif
`Position particle
position object i, rain(i-1,xPos), rain(i-1,yPos), rain(i-1,zPos)
next i
return
`Rain particle generator v1.1
`By Kentaree 19/05/03
`http://members.lycos.co.uk/darknessrising/
`Setup program environment.
sync on
sync rate 60
autocam off
`Load media.
load image "C:Program FilesDark Basic SoftwareDark Basic Litemediarain.jpg",1
`Set up an array holding position and speed of particles
dim rain(50,4)
xPos=0
yPos=1
zPos=2
speed=3
`Make all the particles
gosub _setupParticles
`Main game loop
do
randomize timer()
gosub _moveParticles
sync
loop
_setupParticles:
`Make textured and ghosted plains numbered 1 to 50, and set transparency on
for i=1 to 50
make object plain i, 1,1
set object i,1,0,0
texture object i,1
ghost object on i
disable object zdepth i
lock object on i
`Setup array values for each particles holding the positional data
rain(i-1,zPos)=(int(rnd(500)+1))+20: `Z coordinate of particle
rain(i-1,xPos)=(int(rnd(rain(i-1,zPos)*.8)*2+1))-rain(i-1,zPos)*.8: `X coordinate of particle
rain(i-1,yPos)=(int(rnd(rain(i-1,zPos)*.6)*2+1)): `Y coordinate of particle
rain(i-1,speed)=(int(rnd(3)+1+(rain(i-1,zPos)*.6/50))): `Speed of particle
`Position object for start
position object i, rain(i-1,xPos), rain(i-1,yPos), rain(i-1,zPos)
next i
return
_moveParticles:
for i=1 to 50
`Move particle down according to speed value, which makes a random effect
rain(i-1,yPos)=rain(i-1,yPos)-rain(i-1,speed)
`If particle goes too low, set new position
if rain(i-1,yPos)<-15
rain(i-1,zPos)=(int(rnd(500)+1))+20
rain(i-1,xPos)=(int(rnd(rain(i-1,zPos)*.8)*2+1))-rain(i-1,zPos)*.8
rain(i-1,yPos)=(int(rnd(rain(i-1,zPos)*.6)*2+1))
rain(i-1,speed)=(int(rnd(3)+1+(rain(i-1,zPos)*.6/50)))
endif
`Position particle
position object i, rain(i-1,xPos), rain(i-1,yPos), rain(i-1,zPos)
next i
return