Compiled demo attached. Doesn't really warrant a Program Announcement.
Simply hold the mouse button down, and scrawl away.
If you have the particles expansion pack, you could compile with a different image for different effects.
Initial Particle parameters created using Smart Particles.
:`SmartParticles Code
:`===================
testParticles()
function LoadParticles()
` Generated by Smart Particles.
` http://darkbasic.biglaugh.co.uk/smartparticles.html
LOAD IMAGE "mist_normal.png", 8001
:`Emitter 1
MAKE BASIC EMITTER 1001, 800
SET EMITTER PARTICLE COLOR 1001, 255, 255, 255, 51
SET PARTICLE Z SORTING 1001, 1
SET EMITTER RATE 1001, 0
SET EMITTER EXPLODE 1001, 1
SET EMITTER PARTICLE VELOCITY 1001, 0.0299999993294, 10
SET EMITTER PARTICLE MASS 1001, 0.300000011921, 0
SET EMITTER PARTICLE LIFE 1001, 3, 0
SET EMITTER PARTICLE SIZE 1001, 0.10000000149, 0
SET OBJECT TRANSPARENCY 1001, 1
SET EMITTER PARTICLE COLOR 1001, 255, 255, 255, 51
TEXTURE OBJECT 1001, 8001
POSITION OBJECT 1001, 0.632000029087, 0, 0
ROTATE OBJECT 1001, -90, 0, 0
` ******* This line added manually...
set object light 1001,0
:`Effector 1
MAKE SIZE EFFECTOR 3001
tmp = size effector add key(3001, 0, 0.0900000035763)
tmp = size effector add key(3001, 0.5, 0.10000000149)
tmp = size effector add key(3001, 2.05999994278, 0.5)
:`Effector 2
MAKE COLOR EFFECTOR 3002
tmp = color effector add key(3002, 0, 255, 255, 255, 255)
tmp = color effector add key(3002, 1.38999998569, 255, 255, 255, 255)
tmp = color effector add key(3002, 2.99000000954, 255, 255, 255, 0)
:`Emitter / Effector Binding1
BIND EFFECTOR TO OBJECT 3001, 1001
SET EFFECTOR INTERACTION 3001, 1001, 50
SET EFFECTOR FALLOFF 3001, 1001, 0
SET EFFECTOR FALLOFF HEIGHT 3001, 1001, 0, 1
:`Emitter / Effector Binding2
BIND EFFECTOR TO OBJECT 3002, 1001
SET EFFECTOR INTERACTION 3002, 1001, 50
SET EFFECTOR FALLOFF 3002, 1001, 0
SET EFFECTOR FALLOFF HEIGHT 3002, 1001, 0, 1
endfunction
:`++++++++++++++++++++++++++++++
:`Use this function to test particles are running as expected
:`++++++++++++++++++++++++++++++
function testParticles()
hide mouse
position camera 0, 0, -5
backdrop on
color backdrop rgb ( 0, 0, 0 )
draw to back
cls
autocam off
` Make a simple cursor...
make object sphere 1,0.2,5,5
LoadParticles()
px# = 0.632000029087
py# = 0
do
` Get mouse movement...
mx# = mousemovex()
my# = mousemovey()
inc px#, mx# * 0.01
inc py#, my# * -0.01
` Change Particle emitter rate based on mouse click
if mouseclick() > 0
SET EMITTER RATE 1001, 250
else
SET EMITTER RATE 1001, 0
endif
` Position emitter and cursor...
position object 1001, px#, py#, 0
position object 1, px#,py#,0
rotate object 1001, -90, 0, 0
update physics
sync
inc n
text 5,5, str$(n)
loop
endfunction