[Flash] Effet de neige

Publié le 30 novembre 2007 par Avi Teboul

Bonjour,

Comme les fêtes arrivent, c'est le moment de préparer ses cartes de noël...

Bonjour,

Voici comment réaliser un effet de neige qui tombe dans une boule 

1) Ouvrir flash.

2) Importer dans la bibliothèque  une image (source)

3) Créez quatre calques et nommez-les : Image, snow, masque, Texte.

4) Donnez à votre scène la dimension de l'image 600x400 .

5) Déposez l'image sur le calque image et centrez-la

6) Créez un nouveau MovieClip et nommez-le snow, dessinez dedans un rond blanc (pas trop grand).

7) Créer un nouveau MovieClip et nommez-le snow_mc dedans créez deux calques : flocon et AS.

   Sur le calque AS faites F9 et placez le code suivant :

      snowflakes = 75;
      do {
      duplicateMovieClip(snow, "snow"+k, k);
      k++;
      } while (k != snowflakes); 

   Sur le calque flocon placez le MovieClip snow , et donnez-lui comme nom snow et placez-le code suivant dessus :

   onClipEvent (load) {
   //variables
   width = 300;
   height = 200;
   //random x,y, and alpha
   this._xscale = this._yscale=50+Math.random()*100;
   this._alpha = 20+Math.random()*50;
   //random x and y for flakes
   this._x = -width+Math.random()*(3*width);
   this._y = -10+Math.random()*height;
   //speed and trigonometric value
   i = 1+Math.random()*2;
   k = -Math.PI+Math.random()*Math.PI;
   rad = 0;
}
onClipEvent (enterFrame) {
   // horizontal movement
   rad += (k/180)*Math.PI;
   xmovement = _root._xmouse;
   this._x -= Math.cos(rad)+(xmovement-(width/2))/50;
   // vertical movement
   this._y += i;
   // remove clips
   if (this._x>(width+50)) {
      this._x = -45;
      this._y = Math.random()*height*2;
   }
   if (this._x<-50) {
      this._x = width+45;
      this._y = Math.random()*height*2;
   }
   if (this._y>=height) {
      this._y = -50;
      this._x = -width+Math.random()*(3*width);
   }
}
 

8) Revenez sur la scène principale et placez le MovieClip snow_mc sur le calque flocon.

9) Sur le calque masque, dessinez un cercle qui cache la boule

10) Sur le calque texte créez un champ texte statique avec votre texte.

11) Faites ctrl+enter et il devrait neiger dans votre boule.

Démo : ICI

Démo 2 : ICI

Source : ICI

Bàv,

Burnside.