Foros del Web » Creando para Internet » Flash y Actionscript »

efecto nieve

Estas en el tema de efecto nieve en el foro de Flash y Actionscript en Foros del Web. hola a todos, bueno tengo una duda, resulta que encontre un efecto de nieve en internet para action 2.0 pero el asunto es que yo ...
  #1 (permalink)  
Antiguo 14/09/2009, 17:00
 
Fecha de Ingreso: enero-2009
Mensajes: 8
Antigüedad: 15 años, 3 meses
Puntos: 0
efecto nieve

hola a todos, bueno tengo una duda, resulta que encontre un efecto de nieve en internet para action 2.0 pero el asunto es que yo quiero hacer que la nieve aparesca desde abajo hacia arriba y no de arriba hacia abajo como es lo tipico, debe ser algo muy simpe de cambiar en el codigo para que aparesca desde abajo hacia arriba, lo quiero para un experimento en un sito que estoy armando, ojala alguien me pueda ayudar, el codigo que estoy utilizando es el siguiente:

en el primer frame:
snowflakes = 75;
do {
duplicateMovieClip(snow, "snow"+k, k);
k++;
} while (k != snowflakes);


y este va en el moviclip que se llama snow:

onClipEvent (load) {
//variables
width = 300;
height = 200;
//random x,y, and alpha
this._xscale = this._yscale=50+Math.random()*100;
this._alpha = 20+Math.random()*50;
//random x and y for flakes
this._x = -width+Math.random()*(3*width);
this._y = -10+Math.random()*height;
//speed and trigonometric value
i = 1+Math.random()*2;
k = -Math.PI+Math.random()*Math.PI;
rad = 0;
}
onClipEvent (enterFrame) {
// horizontal movement
rad += (k/180)*Math.PI;
xmovement = _root._xmouse;
this._x -= Math.cos(rad)+(xmovement-(width/2))/50;
// vertical movement
this._y += i;
// remove clips when they misbehave (overstep boundaries)
if (this._x>(width+50)) {
this._x = -45;
this._y = Math.random()*height*2;
}
if (this._x<-50) {
this._x = width+45;
this._y = Math.random()*height*2;
}
if (this._y>=height) {
this._y = -50;
this._x = -width+Math.random()*(3*width);
}
}



ojala alguien me pueda ayudar , saludos a los flasheros.

Última edición por ickr; 14/09/2009 a las 18:13
  #2 (permalink)  
Antiguo 14/09/2009, 18:52
 
Fecha de Ingreso: enero-2009
Mensajes: 8
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: efecto nieve

si alguien puede tambien darme otro ejemplo de hacer nieve pero al reves, se lo agradeceria
  #3 (permalink)  
Antiguo 16/09/2009, 01:27
Avatar de Eskombro  
Fecha de Ingreso: septiembre-2009
Ubicación: Colombia
Mensajes: 437
Antigüedad: 14 años, 7 meses
Puntos: 22
Respuesta: efecto nieve

En donde dice vertical movement el codigo es

// vertical movement
this._y += i;

Eso hace que se mueva hacia abajo. En vez del + pon un - y ya se mueve hacia arriba...

Como la posición inicial de cada punto de nieve es variable (random) debe funcionar bien. El corre el limite hacia arriba en -10:

//random x and y for flakes
this._x = -width+Math.random()*(3*width);
this._y = -10+Math.random()*height;

Es decir, maximo salen 10 pixeles arriba del escenario y minimo 10 pixeles arriba del piso. Podrías cambiarlo para que salga de máximo 10 pixeles abajo del escenario y mínimo 10 pixeles abajo del "tacho del escenario así:

//random x and y for flakes
this._x = -width+Math.random()*(3*width);
this._y = stage.stageHeight+10-Math.random()*height;

pero esto ultimo no estoy segruo si funciona tal cual en AS2 porque puede que sea solo así para el 3. No estoy seguro, espero alguien te lo precise, yo manejo mas AS3 que 2. En todo caso cambia el + del principio por un - y la nieve irá hacia arriba...

Espero haberte ayudado...
Un saludo
Eskombro

Última edición por Eskombro; 17/09/2009 a las 00:34
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:09.