Crear un copo de nieve en Flash

Algunos lectores me han preguntado cómo fue creado el copo de nieve, tan realista, la Navidad Widget . Los que han descargado el código fuente que usted probablemente ya sabe ... pero fue muy simple. En primer lugar, selecciona la herramienta Pincel en Flash y me dibujó un punto.

Copo de nieveCopo de nieve

Que la convirtieron en un símbolo y me presenté dos efectos en la secuencia correcta: Bisel y la falta de definición:

Copo de nieveCopo de nieve

El resultado fue: Copo de nieve

En este clip de película (símbolo) asociado a una clase simple que CNeve , que en realidad crea la inteligencia de la propia básico:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
MovieClip { CNeve clase amplía MovieClip {
_interval ; _interval var privado;
_maxy : Number ; _maxy private var: Número ;
/ /
CNeve función () {
this , "_move" , 25 ) ; _interval = setInterval (this, "_move", 25);
round ( ( Stage . height + 256 ) / 2 ) + _getRndRange ( - 20 , - 7 ) ; _maxy = Matemáticas . ronda (( Etapa altura + 256) / 2.) + _getRndRange (- 20, - 7);
}
/ /
_getRndRange ( min : Number , max : Number ) : Number { _getRndRange función privada (min: Número , max: Número ): Número {
Number = Math . floor ( Math . random ( ) * ( max - min + 1 ) ) + min ; randomNum var: Número = Matemáticas . piso ( Matemáticas aleatorio () * (max - min + 1).) + min;
randomNum retorno;
}
/ /
_move ( ) { función de _move privada () {
1 , 5 ) ; _y + = _getRndRange (1, 5);
_getRndRange ( - 50 , 50 ) ) > 0 ) ? 1 : - 1 ; _x + = ((_getRndRange (- 50, 50))> 0) 1: - 1;
1 , 5 ) ; _rotation + = _getRndRange (1, 5);
_y > _maxy ) { if (_y> _maxy) {
_interval ) ; clearInterval (_interval);
}
; updateAfterEvent ();

}
}

El método _move() contiene la inteligencia de la grapa, es decir, la función de la caída, extremadamente simple. Al variar la función aleatoria _x += ((_getRndRange(-50, 50))>0) ? 1 : -1;, si può aggiungere un effetto effetto vento, cioè i fiocchi cadono con una pendenza particolare. _x += ((_getRndRange(-50, 50))>0) ? 1 : -1;, por ejemplo, mediante la inserción de un _getRndRange(-550, 50), se puede añadir un efecto de viento efectos, es decir, los copos caen con una inclinación particular. En particular, usted puede enviar los copos a derecha e izquierda con un código de este tipo:

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, confiere un mayor detalle a la grapa mismo.
e uno scale randomico, per avere fiocchi di neve di diverse dimensioni. Cuando creo un arco (ver la función creaFiocco() más abajo) También he añadido un alpha=90 y una escalera randomico, para que los copos de nieve de diferentes tamaños.

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

Y eso es todo ... ;) Me olvidé ... Los mejores deseos para todos y felices fiestas ... ;)

7 comentarios para "crear un copo de nieve en Flash"

  1. 06 de diciembre 2007 Dieg0 :

    Comprobar el estado de sitio: http://www.Dieg0.com.ar
    Un cordial saludo,
    Diego

  2. 06 de diciembre 2007 Giovambattista Fazioli :

    @ Diego0: Gracias por los enlaces ;)
    En el sitio de Diego también son una secuencia de comandos JavaScript que simula los copos de nieve cayendo. La ventaja de utilizar JavaScript es ser capaces de posicionar los copos por encima a nuestra página, cosa que con Flash - si por un lado es gracias possibiloe a la transparencia - que impide desde entonces, de hecho la selección.

  3. 09 de diciembre 2007 Chris :

    Hola Debería haber llegado a ver en mi blogghetto verlos en MyBlogLog. Estoy muy ignorante acerca de Flash y sus alrededores, yo no sabía que era guión de programación orientada a objetos de acción. ¿Quién sabe cuándo voy a tener una mirada, que me atrae :-) Hola hola

  4. 09 de diciembre 2007 Giovambattista Fazioli :

    @ Chris: Gracias por tu visita! Vi que eres Comentando en la programación orientado a objetos con C + +! Una elección excelente. Para hacer frente a los conceptos de OO seguramente debe estar familiarizado tanto con el C y C + +. Actionscript no es tan "puro", como C + +, aunque cada versión se está acercando a lo real y lo "estrechas" las metodologías de desarrollo orientado a objetos. Sin embargo, si usted puede trabajar con Flash, incluyendo Actionscript 2.0, seguramente encontrará muchas cosas inspiradoras.

  5. 27 de octubre 2008 Widget de Navidad: la caída de nieve en Flash | Undolog.com :

    [...] Actualización: Servicio no disponible - Consulte Creación de un copo de nieve en Flash [...]

  6. 24 de diciembre 2008 Claudio:

    "En este clip de película (símbolo) que asocia CNeve una clase simple que realmente crea la inteligencia de los ...»
    ¿Has comenzado de forma rápida y con ilustraciones muy claras, entonces te has perdido un montón de información esencial para un usuario "normal" que se crea la clase CNeve ? Vi cómo el símbolo se asocia, pero echo de menos todo lo demás. Puedo administrar de manera muy diferente, pero es una lástima.

  7. 28 de diciembre 2008 Giovambattista Fazioli :

    @ Claudio: Lo que no está claro exactamente? A veces puede parecer que se salta algunos detalles, sin embargo, considera que por un lado, algunos "elementos básicos" que tengo que dar por sentado, de lo contrario, debería escribir un manual para cada puesto, y usted puede encontrar muchas otras preguntas en posts anteriores que todavía están aquí, siguiendo, por ejemplo, la categoría de ActionScript 3.0 o flash . Sin embargo la clase CNeve se asocia con un MovieClip vacío en la biblioteca a través de la ventana Propiedades. Para más detalles, véase, por ejemplo, ActionScript 3.0, todos con el nuevo operador . Si hay más preguntas me escriben, así que estaré encantado de responder a la punta.

Deja un comentario

TAG PERMISOS XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> código de inserción:
 <pre></pre> // blocco generico <code></code> // blocco generico [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL 


Deje de SOPA