Originariamente inviato da darkmavis
Esatto, snowflakes e' un movieclip esportato come classe nel fla, il quale ha 3 frame con 3 differenti movieclip :-)
Guardo subito il codice, grazie mille!
Non avevo badato al fatto che il random avvenisse nel range 1-3, infatti nel mio test ho fatto un clip con due soli frame, adesso aggiungo il terzo per vedere se è più bello 
[edit] Toh, così è più carino 
Codice PHP:
package {
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
import fl.transitions.Tween;
import fl.transitions.TweenEvent;
import fl.transitions.easing.Regular;
public class letsnow extends MovieClip {
private var L,E,T,S,N,O,W;
public function letsnow () {
L = uint(0); // delay counter
E = uint(15); // limit for counter
T = uint(30); // max numer of visible flakes
S = uint(0); // flakes counter
N = []; // mcs array
O = {}; // variabile collection object
W = []; // tweens array
addEventListener(Event.ENTER_FRAME, __enterframe__);
}
private function __enterframe__ (e:Event) {
if (L != E) {
L++;
} else {
S++;
L = 0;
O.current_flake = Math.round(Math.random()*2) + 1;
N.push(addChild(new snowflakes()) as MovieClip);
var mc:MovieClip = N[N.length-1];
mc.name = "flake_"+S;
mc.gotoAndStop(O.current_flake);
O.rand_depth = Math.round(Math.random()*4) + 1;
O.scale = (Math.round(100*O.rand_depth) / 5);
O.scale /= 100;
O.speed = 5 - O.rand_depth;
O.speed *= 6;
O.color_id = Math.round(Math.random()*2);
O.alpha_min = O.color_id != 2 ? 0.1 : 0.4;
O.alpha_max = O.color_id != 2 ? 0.5 : 0.7;
O.flake_alpha = Math.random()*(O.alpha_max-O.alpha_min);
O.init_x = -(T/2) + Math.round(Math.random()*stage.stageWidth);
mc.alpha = O.flake_alpha;
mc.x = O.init_x;
O.init_y = -(mc.height);
mc.y = O.init_y;
mc.scaleX = O.scale;
mc.scaleY = O.scale;
mc.addEventListener(MouseEvent.CLICK, function (e:MouseEvent) {trace(e.target.name)});
W.push(new Tween(mc, "y", Regular.easeInOut, O.init_y, (stage.stageHeight + mc.height), O.speed, true));
W[W.length-1].addEventListener(TweenEvent.MOTION_FINISH, function (e:TweenEvent) {removeChild(e.target.obj)});
}
}
}
}