Créer un flocon de neige en Flash
Jeudi, Décembre 6, 2007Certains lecteurs m'ont demandé comment vous avez créé le flocon de neige, de manière réaliste, le Noël du widget. Ceux qui ont téléchargé le code source ne connaît sans doute déjà ... Toutefois, il est vraiment simple. D'abord, j'ai sélectionné l'outil Pinceau dans Flash et j'ai conçu un point.
![]() | ![]() |
Je me suis tourné cela en un symbole et j'ai appliqué deux effets dans le bon ordre: biseau et flou:
![]() | ![]() |
Le résultat a été: 
Dans ce MovieClip (symbole) j'ai associé une classe simple CNeve qui crée en fait l'intelligence de la base elle-même:
- _interval ; privé _interval var;
- / /
- CNEV function () (
- this , "_move" , 25 ) ; _interval = setInterval (this, "_move", 25);
- round ( ( Stage . height + 256 ) / 2 ) + _getRndRange ( - 20 , - 7 ) ; = _maxy Math. ronde ((hauteur Stage. + 256) / 2) + _getRndRange (- 20, - 7);
- )
- / /
- _getRndRange ( min : Number , max : Number ) : Number { _getRndRange private function (min: Number, max: Number): Numéro (
- randomNum retour;
- )
- / /
- _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 ();
- )
- )
Le _move() méthode _move() contient l'intelligence de la base, qui est la fonction de l'automne, extrêmement simple. Varier les _x += ((_getRndRange(-50, 50))>0) ? 1 : -1;, fonction aléatoire _x += ((_getRndRange(-50, 50))>0) ? 1 : -1;, _x += ((_getRndRange(-50, 50))>0) ? 1 : -1;, par exemple en insérant un _getRndRange(-550, 50), nous pouvons ajouter un effet de vent effet, que la chute de flocons avec une pente particulière. En particulier, nous pouvons envoyer les flocons sur la droite et à gauche en utilisant un code comme ceci:
- _getRndRange ( _getRndRange ( - 350 , - 50 ) , _getRndRange ( 50 , 350 ) ) ) > 0 ) ? 1 : - 1 ; _x + = ((_getRndRange (_getRndRange (- 350, - 50), _getRndRange (50, 350)))> 0)? 1: - 1;
_rotation += _getRndRange(1, 5); donne ensuite un détail à la suite de la flèche elle-même.
Lorsque je crée un arc (voir creaFiocco() fonction creaFiocco() ci-dessous), j'ai ajouté un alpha=90 est un scalaire aléatoire, d'avoir des flocons de neige de différentes tailles.
- / / Create discontinues
- creaFiocco function () (
- 20 , 100 ) ; var s = plageAleatoire (20, 100);
- = randRange ( - Math . floor ( ( Stage . width - 320 ) / 2), Math.round((Stage.width + 320) / 2 ) ) ; var x = plageAleatoire (- Math. floor ((largeur Stage. - 320) / 2), Math.round ((Stage.width + 320) / 2));
- = - Math . floor ( ( ( Stage . height - 256 ) / 2 ) ) - 10 ; var y = - Math. floor (((hauteur Stage. - 256) / 2)) - 10;
- "neve" , "neve_" + index , index , { _x : x , _y : y , _xscale : s , _yscale : s , _alpha : 90 } ) ; c_mc. attachMovie ( "neige", "neve_" + index, index, (_x: x, _y: y, _x: s, _yscale: S, _alpha: 90));
- index + +;
- index > 1000 ) { if (index> 1000) (
- ; index = 1;
- , 2 ) ; c_mc createEmptyMovieClip = ( "c_mc", 2);
- )
- )
Et c'est tout ...
Oublié ... Bonjour à tous et Joyeuses Fêtes ... ![]()

















Visitez mon site: http://www.Dieg0.com.ar
Observe,
Diego
@ Diego0: Merci pour les liens
Diego trouvé sur le site d'un script JavaScript qui simule les flocons de neige tombent également. L'avantage d'utiliser JavaScript est que vous pouvez mettre les flocons sur notre page, ce qui avec le flash - si un côté est possibiloe par la transparence - alors en fait empêche la sélection.
Bonjour Il aurait dû sortir de la curiosité, de vous voir à MyBlogLog sur mon blogghetto. Je suis vraiment ignorants sur flash et de ses environs, je savais que c'était la POO action script. Qui sait où je peux regarder, il m'attire
Bonjour bonjour
@ Chris: Merci de votre visite! J'ai vu que vous êtes commentaire dans la programmation OO avec C + +! Excellent choix. Pour bien gérer les concepts OO doit sûrement être familier avec le C et C + +. ActionScript n'est pas aussi pur que le C + +, bien que chaque version se rapproche de la vraie et "étroit" des méthodologies de développement OO. Toutefois, si vous pouvez travailler avec Flash, y compris ActionScript 2.0, vous trouverez sûrement beaucoup de choses révélatrices.
[...] Mise à jour: Service non disponible - voir Création d'un flocon de neige en Flash [...]
"A ce MovieClip (symbole) j'ai associé une classe simple CNEV, qui crée en fait l'intelligence de ..."
Avez-vous commencé facilement et avec des illustrations très claires, alors vous avez raté un tas d'informations essentielles pour un utilisateur «standard», comme on crée la classe
CNeveJ'ai vu comment vous liez le symbole, mais je manque tout le reste. Arrangeur moi autrement, mais c'est un péché.@ Claudio: Qu'est-ce pas clair pour vous exactement? Parfois, il semble que mai manqué certains détails, cependant, que d'une part, certains des «bases» dois-je prendre pour acquis, sinon je devrais écrire un manuel pour chaque poste, et vous pouvez trouver de nombreuses autres questions dans ses précédents postes qui sont toujours là, suivant l'exemple de la catégorie ActionScript 3.0 et Flash. Cependant, la classe
CNeveest associée à un MovieClip vide dans la bibliothèque à travers la fenêtre Propriétés. Pour plus de détails voir par exemple, Actionscript 3.0: le tout avec l'opérateur new. Si vous avez d'autres questions, écrivez-moi aussi, je serai heureux de répondre diviseur.