Red de conocimiento informático - Material del sitio web - Cómo hacer animación de nieve en flash

Cómo hacer animación de nieve en flash

1. Haz un copo de nieve (haz clic en un pequeño punto blanco), conviértelo en un clip de película y llámalo copo de nieve.

2. Inserta un nuevo clip de película y llámalo Piaoxue. Arrastra los copos de nieve fuera de la biblioteca y céntralos todos.

Crea una instancia llamada mc y agrega una acción de marco:

fallSnow(this, 100, [550, 400]);

función fallSnow(path, num, size) {

p>

for (var i = 0; ilt; num; i) {

ruta.createEmptyMovieClip("s" i, i);

var mc = ruta [ "s" i];

mc._x = aleatorio(tamaño[0]);

mc._y = aleatorio(tamaño[1]);

mc.ro = [1, -1][random(2)];

mc.xtime = random(20);

mc.startTime = 0;

mc.id = Math.pow(i, 1/2);

createSnow(mc, mc.id/2.5, "0xffffff", 20*mc.id);

}

var loop = function () {

updateAfterEvent();

for (var i = 0; ilt; num; i ) {

var mc = ruta["s" i];

mc._rotation = mc.ro*5;

mc._x = mc. id *mc.ro/10;

mc._y = mc.id/2;

mc.startTime;

scanTar(mc);

scanEdge(mc, tamaño);

}

};

var intervalo = setInterval(bucle, 10);

}

función createSnow(mc, radio, c, alfa) {

con (mc) {

moveTo(0, -radius);

beginFill(c, alpha);

lineStyle(0, "0x000000", 0);

for (var i = 1; ilt; =6 ; i ) {

var a1 = -Math.PI/6 i*Math.PI/3;

var a2 = i*Math.PI/3;

lineTo((radio/5)*Math.sin(a1), -(radio/5)*Math.cos(a1));

lineTo(radio*Math.sin(a2) , -radius*Math.cos(a2));

}

endFill();

}

}

función scanTar(mc) {

if (mc.startTimegt; =mc.xtime) {

mc.startTime = 0;

mc . xtime = aleatorio(20);

mc.ro = [1, -1][random(2)];

}

}funciones

en scanEdge(mc, tamaño) {

if (mc._xgt; tamaño[0]) {

mc._x = 0;

} más si (mc._xlt; 0) {

mc._x = tamaño[0];

}

if (mc._ygt; tamaño[1]) {

mc._y = 0;

}

}

3. Arrastra el clip de película de nieve a la escena (preferiblemente es una nueva capa separada).

Nota: Este es un script AS2.