Resultado final
function chuva(qtd_pingo, vel_chuva){
_root.duplicador = qtd_pingo
for(i=0; i<=_root.duplicador;i++){
_root.createEmptyMovieClip("pingo" + i , i)
_root["pingo"+ i].moveTo(20,20)
_root["pingo"+ i].lineStyle(1,"0xcccccc", random(100))
_root["pingo"+ i].lineTo(20,3)
_root["pingo"+ i]._x = random(Stage.width)
_root["pingo"+ i]._y = random(Stage.height)
_root["pingo"+ i]._rotation = 135
}
onEnterFrame = function(){
for(i=0; i<=_root.duplicador;i++){
if(_root["pingo"+ i]._y>Stage.height){
_root["pingo"+ i]._x = random(Stage.width)
_root["pingo"+ i]._y = random(Stage.height)
}
else{
_root["pingo"+ i]._y += vel_chuva
_root["pingo"+ i]._x += vel_chuva
}
}
}
}
chuva(200,20)
Trabalhamos praticamente em função do modo createEmptyMovieClip
Ele vai criar o objeto até o numero de pingos determinado. Abaixo ele gera o movimento e consequentemente sua velocidade, atribuida a função. O mais interessante é, quando o pingo sai da tela ele volta para o stage mantendo um loop infinito dessas ações
.(if(_root["pingo"+ i]._y>Stage.height){)