Crear un copo de nieve en Flash

Jueves, 6 de diciembre de 2007

Algunos lectores me han preguntado cómo se creó copo de nieve, de modo realista, el widget de Navidad. Los que han descargado la fuente, probablemente ya sabe ... Sin embargo, es muy simple. En primer lugar, he seleccionado la herramienta pincel en Flash y yo hemos diseñado un punto.

NevandoNevando

Me he convertido esto en un símbolo y me han aplicado dos efectos en la secuencia correcta: bisel y borroso:

NevandoNevando

El resultado fue: Nevando

En este MovieClip (símbolo) he asociado una simple clase CNeve de facto de inteligencia básico de sí mismo:

Actionscript:
  1. { CNEVA clase extends MovieClip (
  2. _interval; var _interval privado;
  3. _maxy: Number ; var privado _maxy: Número;
  4. / /
  5. CNEVA función () (
  6. this , "_move" , 25 ) ; _interval = SetInterval (esto ", _Move", 25);
  7. ( ( Stage . height + 256 ) / 2 ) +_getRndRange ( - 20 , - 7 ) ; _maxy = Matemáticas. ronda ((Stage. altura + 256) / 2) + _getRndRange (- 20 - 7);
  8. )
  9. / /
  10. _getRndRange ( min : Number , max : Number ) : Number { private function _getRndRange (min: Número máximo: Número): Número (
  11. = Math . floor ( Math . random ( ) * ( max- min + 1 ) ) + min ; var randomNum: Número = Matemáticas. piso (Math. aleatorio () * (max-min + 1)) + min;
  12. randomNum regreso;
  13. )
  14. / /
  15. _move ( ) { _Move Private function () (
  16. 1 , 5 ) ; _y + _getRndRange = (1, 5);
  17. _getRndRange ( - 50 , 50 ) ) > 0 ) ? 1 : - 1 ; _x + = ((_getRndRange (- 50, 50))> 0)? 1 - 1;
  18. 1 , 5 ) ; _rotation + _getRndRange = (1, 5);
  19. _y>_maxy ) { if (_y> _maxy) (
  20. _interval ) ; clearInterval (_interval);
  21. )
  22. ; updateAfterEvent ();
  23. )
  24. )

El método _move() contiene la inteligencia de los básicos, o de la caída, muy simple. Al cambiar el azar _x += ((_getRndRange(-50, 50))>0) ? 1 : -1;, _x += ((_getRndRange(-50, 50))>0) ? 1 : -1;, mediante la inclusión de un _getRndRange(-550, 50), un efecto de viento, es decir, los copos caen con una inclinación particular. En particular, los copos pueden enviar a cualquiera de las partes usando un código como este:

Actionscript:
  1. _getRndRange ( _getRndRange ( - 350 , - 50 ) , _getRndRange ( 50 , 350 ) ) ) > 0 ) ? 1 : - 1 ; _x + = ((_getRndRange (_getRndRange (- 350, - 50), _getRndRange (50, 350)))> 0)? 1 - 1;

La rotación _rotation += _getRndRange(1, 5); entonces, da más detalles básicos a sí mismo.
Cuando creo un alimento básico (véase función creaFiocco() más abajo) también añadió un alpha=90 una escala de azar, que los copos de nieve de varios tamaños.

Actionscript:
  1. / / Crear básicos
  2. creaFiocco función () (
  3. 20 , 100 ) ; var s = randRange (20, 100);
  4. - Math . floor ( ( Stage . width - 320 ) / 2 ) , Math . round ( ( Stage . width + 320 ) / 2 ) ) ; var x = randRange (- Matemáticas. piso ((Stage. ancho - 320) / 2), Matemáticas. ronda ((Stage. ancho + 320) / 2));
  5. . floor ( ( ( Stage . height - 256 ) / 2 ) ) - 10 ; var y = - Matemáticas. piso (((Stage. altura - 256) / 2)) - 10;
  6. "neve" , "neve_" + index , index , { _x :x, _y :y, _xscale :s, _yscale :s, _alpha : 90 } ) ; c_mc. attachMovie ( "nieve", "neve_" + índice, índice, (_x: x, _y: y, _xscale: s, _yscale: s, _alpha: 90));
  7. Índice + +;
  8. index> 1000 ) { if (índice> 1000) (
  9. ; index = 1;
  10. "c_mc" , 2 ) ; c_mc = createEmptyMovieClip ( "c_mc", 2);
  11. )
  12. )

Y eso es todo ... ;) ¿Ha olvidado ... Saludos a todos y Felices fiestas ... ;)

Post relacionados

5 comentarios a: "Crear un copo de nieve en Flash"

  1. getAvatar 1,0 Jueves, 06 de diciembre, de 2007 a las 14:48
    Dieg0 dijo:

    Revise mi sitio web: http://www.Dieg0.com.ar
    Recuerdos,
    Diego

    Respuesta Cita
  2. getAvatar 1,0 Jueves, 06 de diciembre, de 2007 a las 15:17
    Giovambattista Fazioli dijo:

    @ Diego0: Gracias por los enlaces ;)
    En el sitio de Diego Javascript es un script que también simula la caída de copos de nieve. La ventaja de usar Javascript es colocar las hojuelas en nuestra página, que con Flash - possibiloe mientras que es a través de la transparencia - impide que hizo la selección.

    Respuesta Cita
  3. getAvatar 1,0 Domingo, diciembre 09, 2007 a las 19:26
    Chris dijo:

    Hola hijo que vino a buscar en vedendoti MyBlogLog en mi blogghetto. Es ignorante acerca de flash y sus alrededores, yo no sabía era OOP acción script. ¿Quién sabe cuándo nos dará un vistazo, lo que me atrae :-) Hola hola

    Respuesta Cita
  4. getAvatar 1,0 Domingo, 09 de diciembre de 2007 a las 19:36 hrs
    Giovambattista Fazioli dijo:

    @ Chris: Gracias por visitar! Vi que estás comentar OO en la programación con C + +! Excelente elección. Para hacer frente así OO conceptos seguramente debe saber que el C C + +. Actionscript no es tan "puro" como C + +, aunque cada versión está más cerca y más cerca de la "estrecha" metodologías de desarrollo OO. Sin embargo, si usted puede trabajar con Flash, incluyendo ActionScript 2.0, usted puede encontrar seguramente muchas cosas esclarecedora.

    Respuesta Cita
  5. getAvatar 1,0 Lunes, 27 de octubre de 2008 a 14:52
    Widget de Navidad: la nieve caída en Flash | Undolog.com dijo:

    [...] Actualización: servicio no disponible - Véase Crear un copo de nieve en Flash [...]

Déjanos tu comentario

TAG XHTML <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Utilice <pre> de adjuntar el código