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

Ayuda efecto empezar a nevar

Estas en el tema de Ayuda efecto empezar a nevar en el foro de Flash y Actionscript en Foros del Web. Saludos a todos!! Tengo un fla con un efecto de nieve, pero me gustaría hacer que empiece a nevar gradualmente, y no que esté nevando ...
  #1 (permalink)  
Antiguo 24/11/2008, 04:55
 
Fecha de Ingreso: julio-2006
Mensajes: 29
Antigüedad: 11 años, 4 meses
Puntos: 0
Exclamación Ayuda efecto empezar a nevar

Saludos a todos!!

Tengo un fla con un efecto de nieve, pero me gustaría hacer que empiece a nevar gradualmente, y no que esté nevando desde el principio. A ver si alguien que sepa de actionscript me puede ayudar. Os explico lo que tengo hasta ahora:

En el primer frame tengo el siguiente código:

this.onEnterFrame = function () {
mc_animacion._rotation -= 50;
porcentaje = Math.round ((_root.getBytesLoaded () / _root.getBytesTotal ()) * 100);
porcen = porcentaje + " %";
if (porcentaje == 100) {
delete this.onEnterFrame;
gotoAndPlay(nextFrame);
}
};


En el segundo frame tengo este codigo:

var cantidad = 800;
var max = 50;
var min = 1;
var ancho = Stage.width;
var altura = Stage.height;
for (var i = 0; i < cantidad; i++) {
copo_mc = this.attachMovie("copo_mc", "copo_mc" + i, i);
with (copo_mc) {
_x = Math.floor(Math.random() * ancho);
_y = Math.floor(Math.random() * altura);
_xscale = _yscale = _alpha = Math.floor(Math.random() * (max - min + 1)) + min;
}
copo_mc._ypos = Math.floor(Math.random() * 2 + .5);
copo_mc.incremento = -0.025 + Math.random() * 0.05;
copo_mc.onEnterFrame = function() {
this.radianes += this.incremento;
this._x += Math.sin(this.radianes);
this._y += this._ypos;
if (this._y >= altura || this._x >= ancho || this._x <= 0) {
this._y = -10;
this._x = -10 + Math.floor(Math.random() * ancho + 10);
}
};
}


Y tengo tambien el mc llamado copo (con su vinculación)

A partir de esto, como puedo hacerlo? No tengo mucha idea de as...

Muchíiiiisimas gracias a todos :)
  #2 (permalink)  
Antiguo 24/11/2008, 07:58
Avatar de gVenom  
Fecha de Ingreso: julio-2008
Ubicación: Costa Rica
Mensajes: 1.455
Antigüedad: 9 años, 5 meses
Puntos: 53
Respuesta: Ayuda efecto empezar a nevar

Te sirve en AS3?

Solo tienes que crear una funcion que le aumente el número de copos de nieve que caen
__________________
"Al que venciere y guardare mis obras hasta el fin, yo le daré autoridad sobre las naciones."
Apocalipsis 2: 26
Servicios para Pymes http://dst.co.cr
  #3 (permalink)  
Antiguo 24/11/2008, 09:36
 
Fecha de Ingreso: julio-2006
Mensajes: 29
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Ayuda efecto empezar a nevar

Cita:
Iniciado por gVenom Ver Mensaje
Te sirve en AS3?

Solo tienes que crear una funcion que le aumente el número de copos de nieve que caen
Hola gVenom, muchas gracias por tu ayuda!! Me podrías decir el código exacto que tengo que introducir y dónde debo hacerlo?

Mil gracias!
  #4 (permalink)  
Antiguo 24/11/2008, 10:30
Avatar de gVenom  
Fecha de Ingreso: julio-2008
Ubicación: Costa Rica
Mensajes: 1.455
Antigüedad: 9 años, 5 meses
Puntos: 53
De acuerdo Respuesta: Ayuda efecto empezar a nevar

Mmmmm, bueno mas que respuesta era pregunta, pero de todas formas te voy a pasar el código para el efecto nieve, esta en AS3, pero yo no soy programador de AS3 asi que no estoy seguro de cual funsión deveria ir ahi. Segun tu código, en esta linea
Código:
for (var i = 0; i < cantidad; i++) {
le estas aumentando el valor a una variable, pues bien eso es lo que deberias hacer con los copos de nieve, que se aumente el valor de la variable que contiene la cantidad de copos de nieve desde 1 hasta un número mayor como 10. Ahí te dejo el código:
Código:
// Tamaños pantalla
var width2 = stage.stageWidth;
var height2 =  stage.stageHeight;
// Máximo tamaño copos y cantidad
var max_tamaño = 10;
var copos = 100;
function init ()  {
   for (var i:Number=0; i<copos; i++) {

      var t:snow=new snow();
      addChild(t);
      t.alpha = 0.2+Math.random()*0.6;
      t.x = -(width2/2)+Math.random()*(1.5*width2);
      t.y = -(height2/2)+Math.random()*(1.5*height2);
      t.scaleX = t.scaleY=0.5+Math.random()*(max_tamaño*0.1);
      t.k = 1+Math.random()*2;
      t.viento = -1.5+Math.random()*(1.4*3);
      t.addEventListener(Event.ENTER_FRAME, mover);
   }
};
function mover(e:*){
   e.target.y  += e.target.k;
   e.target.x += e.target.viento;
   if (e.target.y>height2+10) {

      e.target.y = -20;

   } 

   if (e.target.x>width2+20)  {

      e.target.x = -(width2/2)+Math.random()*(1.5*width2);
      e.target.y = -20;

   }
   else  if (e.target.x<-20)  {

      e.target.x = -(width2/2)+Math.random()*(1.5*width2);
      e.target.y = -20;
   }
}
init();

Ok, para que esto funcione solamente creen un mc, que sea un punto blanco difuminado (Blur) o un circulo que tenga un degradado radial de blanco al centro y transparente al rededor.
Para que represente un copo de nieve.

Luego en la Biblioteca, le das clic derecho seleccionas Linkage y en Class, escribe snow.

Simple, pero bonito.
Recomiendo ocupar fondo oscuro.

suerte
__________________
"Al que venciere y guardare mis obras hasta el fin, yo le daré autoridad sobre las naciones."
Apocalipsis 2: 26
Servicios para Pymes http://dst.co.cr
  #5 (permalink)  
Antiguo 24/11/2008, 10:59
 
Fecha de Ingreso: julio-2006
Mensajes: 29
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Ayuda efecto empezar a nevar

Muchas gracias!!!! solo una cosita más y termino de molestar :P Es posible que la nieve empiece de cero?? aqui veo que se incrementa pero ya hay nieve al iniciar la pelicula.

Miiiiilll gracias de nuevo, me es muy útil tu ayuda :D
  #6 (permalink)  
Antiguo 24/11/2008, 11:23
Avatar de gVenom  
Fecha de Ingreso: julio-2008
Ubicación: Costa Rica
Mensajes: 1.455
Antigüedad: 9 años, 5 meses
Puntos: 53
De acuerdo Respuesta: Ayuda efecto empezar a nevar

Pues empieza la variable
Código:
copos con 0
__________________
"Al que venciere y guardare mis obras hasta el fin, yo le daré autoridad sobre las naciones."
Apocalipsis 2: 26
Servicios para Pymes http://dst.co.cr
  #7 (permalink)  
Antiguo 24/11/2008, 11:50
 
Fecha de Ingreso: julio-2006
Mensajes: 29
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Ayuda efecto empezar a nevar

si le doy 0 de valor no me aparece ningún copo :( creo que no me he explicado bien.... quiero que aparezcan los copos, no que estén ya al iniciar la película. es posible? uffff, que estrés con el flash!!!!! quiero que EMPIECE a nevaaaar en mi pelicula
  #8 (permalink)  
Antiguo 24/11/2008, 12:02
Avatar de gVenom  
Fecha de Ingreso: julio-2008
Ubicación: Costa Rica
Mensajes: 1.455
Antigüedad: 9 años, 5 meses
Puntos: 53
Respuesta: Ayuda efecto empezar a nevar

Mmmmm, pues tu me pusiste esto
Cita:
Es posible que la nieve empiece de cero?
Y como te dije anteriormente, puedes dejar el valor en 0, pero, debes crear una función que valla aumentando la variable "copos", que es la que marca la cantidad de copos de nieve en la película, y te puse de ejemplo una línea de código de el que tu mismo enviaste
Código:
for (var i = 0; i < cantidad; i++) {
, obviamente debe ir con una función y tu debes darle los parámetros de cada cuanto quieres que aumenten los copos de nieve(o sea irle sumando 1 a la var copos).
__________________
"Al que venciere y guardare mis obras hasta el fin, yo le daré autoridad sobre las naciones."
Apocalipsis 2: 26
Servicios para Pymes http://dst.co.cr
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 01:59.