Criar um floco de neve em Flash

Alguns leitores têm me perguntado como foi criado o floco de neve, tão realista, o Natal Widget . Aqueles que têm baixado a fonte você provavelmente já sabe ... mas foi muito simples. Primeiro, eu selecionei a ferramenta Pincel em Flash e desenhei um ponto.

Floco de neveFloco de neve

Voltei-me isso em um símbolo e apliquei dois efeitos na seqüência correta: bevel e desfoque:

Floco de neveFloco de neve

O resultado foi: Floco de neve

Neste MovieClip (símbolo) associado a uma classe simples que eu CNeve , que realmente cria a inteligência de o grampo em si:

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 classe estende MovieClip {
_interval ; _interval var privado;
_maxy : Number ; _maxy var privado: Número ;
/ /
Cneve function () {
this , "_move" , 25 ) ; _interval = setInterval (this, "_move", 25);
round ( ( Stage . height + 256 ) / 2 ) + _getRndRange ( - 20 , - 7 ) ; _maxy = Math round ((. Stage altura + 256) / 2.) + _getRndRange (- 20, - 7);
}
/ /
_getRndRange ( min : Number , max : Number ) : Number { _getRndRange função privada (min: Número , max: Número ): Número {
Number = Math . floor ( Math . random ( ) * ( max - min + 1 ) ) + min ; var randomNum: Número = Math . floor ( Math . random () * (máx. - min + 1)) + min;
retorno randomNum;
}
/ /
_move ( ) { _move private function () {
1 , 5 ) ; _getRndRange _y + = (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 ();

}
}

O método _move() contém a inteligência do grampo, que é a função de uma queda, extremamente simples. Através da variação da função aleatória _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 exemplo, inserir uma _getRndRange(-550, 50), você pode adicionar um efeito de vento efeito, que os flocos caem com uma inclinação particular. Em particular, os flocos podem ser enviadas para a direita e esquerda usando um código como este:

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

A rotação ( _rotation += _getRndRange(1, 5); ), isto dá um detalhe ainda mais para o arco em si.
e uno scale randomico, per avere fiocchi di neve di diverse dimensioni. Quando eu crio um arco (ver função creaFiocco() abaixo) Eu também adicionei um alpha=90 degraus e um acaso, ter flocos de neve de diferentes tamanhos.

1
2
3
4
5
6
7
8
9
10
11
12
/ / Cria grampo
creaFiocco function () {
20 , 100 ) ; randrange var s = (20, 100);
= randRange ( - Math . floor ( ( Stage . width - 320 ) / 2 ) , Math . round ( ( Stage . width + 320 ) / 2 ) ) ; randrange var x = (- Math floor ((. Stage largura - 320) / 2),. Math round ((. Stage largura + 320) / 2).);
= - Math . floor ( ( ( Stage . height - 256 ) / 2 ) ) - 10 ; var = y - Math floor (((. Stage altura - 256) / 2).) - 10;
"neve" , "neve_" + index , index , { _x : x , _y : y , _xscale : s , _yscale : s , _alpha : 90 } ) ; . c_mc attachMovie ("neve", "neve_" index +, índice, {_x: x, _y: y, _xscale: s, _yscale: s, _alpha: 90});
index + +;
index > 1000 ) { if (index> 1000) {
; index = 1;
, 2 ) ; c_mc = createEmptyMovieClip ("c_mc", 2);
}
}

E isso é tudo ... ;) Esqueci-me ... Boas férias e os melhores desejos a todos ... ;)

7 comentários para "Criar um floco de neve em Flash"

  1. 6 de dezembro de 2007 Dieg0 :

    Verificar o meu site: http://www.Dieg0.com.ar
    Atenciosamente,
    Diego

  2. 6 de dezembro de 2007 Giovambattista Fazioli :

    @ Diego0: Obrigado por ligações ;)
    No site de Diego são também um script JavaScript que simula os flocos de neve caindo. A vantagem de usar JavaScript é que você pode colocar os flocos em cima, que com o Flash da nossa página - se um lado é possibiloe através da transparência - que impede, em seguida, fez a seleção.

  3. 9 de dezembro de 2007 Chris :

    Olá Deve ter vindo para navegar no meu vê-lo no MyBlogLog blogghetto. Estou muito ignorantes sobre o Flash e seus arredores, eu não sabia que era OOP script de ação. Quem sabe quando eu posso olhar para ele, ele me atrai :-) Olá, olá,

  4. 9 de dezembro de 2007 Giovambattista Fazioli :

    @ Chris: Obrigado pela visita! Eu vi que você está comentando em programação OO com C + +! Excelente escolha. Para tratar bem os conceitos OO certamente deve estar familiarizado tanto com o C e C + +. Actionscript não é tão "puro", como C + +, embora cada versão está ficando mais próximo do real e "estreita" metodologias de desenvolvimento OO. No entanto, se você pode trabalhar com Flash, Actionscript 2.0, você certamente vai encontrar muitas coisas inspiradoras.

  5. 27 de outubro de 2008 Widget Natal: neve caindo em Flash | Undolog.com :

    [...] Update: Não Disponível - Consulte Criar um floco de neve em Flash [...]

  6. 24 de dezembro de 2008 Claudio:

    "Neste MovieClip (símbolo) associado a uma classe simples que eu Cneve, que realmente cria a inteligência do ..."
    Você começou rapidamente e com ilustrações muito claro, então você perdeu um monte de informações essenciais para um usuário "padrão": como criar a classe CNeve ? Eu vi como o símbolo está associado, mas eu sinto falta de tudo. Arranger-me o contrário, mas é uma pena.

  7. 28 de dezembro de 2008 Giovambattista Fazioli :

    @ Claudio: O que não está claro exatamente? Às vezes pode parecer que ele ignora alguns detalhes, no entanto, considera que por um lado alguns "princípios" Devo levá-lo para concedido, caso contrário, eu deveria escrever um manual para cada post, e você pode encontrar muitas outras questões em posts anteriores que ainda estão aqui, Por exemplo, de acordo com a categoria ActionScript 3.0 e do Flash . No entanto, a classe CNeve está associada a um MovieClip vazio na biblioteca por meio da janela Propriedades. Para maiores detalhes ver, por exemplo, ActionScript 3.0, todos com o novo operador . Se quaisquer outras questões escrever bem, eu estarei feliz em responder aos pés.

Deixe um comentário

XHTML PERMIT TAG: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> CÓDIGO DE INSERÇÃO:
 <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