When you write
theParticle.graphics.beginFill("blue")
.drawCircle(getRandomArbitary(0, stageH), getRandomArbitary(0, stageW), particleSize);
you are creating a Shape positioned at 0,0
in which you draw a blue dot at a random position.
So effectively you are moving 3 Shapes from position 0,0
down to the bottom of the canvas and resetting them to 0,0
only at that point.
You should set the x
and y
of theParticle
to a random position instead of the x
and y
of the dot.
Edit: Like this
theParticle.graphics.beginFill("blue").drawCircle(0, 0, particleSize);
theParticle.x = getRandomArbitary(0, stageH);
theParticle.y = getRandomArbitary(0, stageW);