Para el efecto nieve (imagino que el de lluvia será parecido), crea un movieclip vacío y en el fotograma pega el código. Lo que he hecho es quitar las referencias a _root para que los clips de nieve creen en el clip que los contiene, y he quitado el controller_mc, cuyas acciones ya hace este mismo mc:
Código :
//////////////////////////////////////////////////////////////////
function randRange(min:Number, max:Number):Number {
var randomNum:Number = Math.floor(Math.random()*(max-min+1))+min;
return randomNum;
}
//////////////////////////////////////////////////////////////////
function moveSnow() {
if (this.moving) {
this._y += this.speed;
this._x += Math.cos(this._y/10);
//Aquí tendrás que apañartelas :D
/*if (this.hitTest(_root.rect_mc.Ice_mc)) {
this.moving = false;
this.stopCounter = 0;
}*/
if (this._y>327) {
removeMovieClip(this);
}
} else {
this.stopCounter++;
if (this.stopCounter>500) {
this.onEnterFrame = null;
this.removeMovieClip();
}
}
}
//////////////////////////////////////////////////////////////////
function createSnow() {
i = getNextHighestDepth();
tmp = attachMovie("SnowFlake", "snowflake_mc"+i, i);
tmp._x = randRange(1, 550);
tmp._y = -1;
tmp._alpha = randRange(50, 100);
tmp.speed = randRange(1, 10);
tmp._xscale = randRange(70, 110);
tmp._yscale = tmp._xscale;
tmp.moving = true;
tmp.onEnterFrame = moveSnow;
}
//////////////////////////////////////////////////////////////////
this.onEnterFrame = function() {
createSnow();
};
//////////////////////////////////////////////////////////////////
Entonces donde quieras nieve pon el mc vacío en la posición 0,0 y cuando dejas de querer, lo quitas.