Tombe la neige - Wisibility
Tombe la neige

Tombe la neige

Flash CS4

 01 février 2010
Jean-Luc Delon
1090720470
Faire tomber des flocons de neige en AS3 avec création d'un canon à neige et 2 fonctions permettant de gérer l'aspect de chaque flocon et l'animation individuellement. Cette animation permet en réalité de faire chuter n'importe quel Movieclip depuis le flocon de neige en passant par des gouttes de pluie ou autre....
Obtenir Adobe Flash Player

10Commentaires

jean-Luc Delon  | 2010-02-08 14:42:16

Bonjour,

Je viens de recevoir un mail m'indiquant qu'il y a une erreur dans la fonction d'animation.

C'est un bug du compilateur Flash qui provoque le message :

1118: Contrainte implicite d'une valeur du type statique Object vers un type peut-être sans rapport flash.display:MovieClip.

Lorsque vous passez à la fonction d'animation FloconNouveau, la fonction ne reçoit pas le type c'est à dire MovieClip.

Pour corriger cela 2 solutions :

La première :

Allez dans fichier, paramètres de publication, Flash, bouton paramètres, retirez la coche de l'option mode précis puis Ok

La seconde :
remplacer dans la fonction animation la ligne :

var FloconActuel:MovieClip=NomParticule.currentTarget

par

var FloconActuel:MovieClip=NomParticule.currentTarget as MovieClip

Bon courage à tous.....

jean-Luc Delon  | 2010-02-08 14:45:19

Voilà l'intégralité du code (avec la correction):

//Nbr de flocon à générer
var quantite:uint=3000;
//Taille de la scene
var LargeurScene:uint=stage.stageWidth;
var HauteurScene:uint=stage.stageHeight;
for (var i:uint = 0; i<quantite; i++) {
//création du nouveau flocon
var FloconNouveau:Flocon = new Flocon();
//Propriété nom
FloconNouveau.name='Flocon'+i;
modifierAspect(FloconNouveau,true);
//La fonction onEnterFrame simule le déplacement de la tête de lecture
FloconNouveau.addEventListener(Event.ENTER_FRAME,animation);
}

//Fonction pour modifier l'aspect des flocons
function modifierAspect(FloconActuel:MovieClip,origine:Boolean):void {
//Positionnement sur la scene et dimension
with (FloconActuel) {
x=Math.random()*LargeurScene;
//si true donc début de l'animation le flocon apparait n'importe ou verticalement
if (origine) {
y=Math.random()*HauteurScene;
} else {
//si false en cours d'animation le flocon demarre en haut de l'écran
y=0;
}
/*scaleX scaleY alpha prennent des valeurs de 0 a 1 en AS3 */
scaleX=scaleY=alpha=.1+Math.random()*.8;
}
/*Gestion du déplacement pour chaque flocon
La vitesse est déterminé au hasard*/
FloconActuel.VitesseVerticale=2+Math.random()*5;
//Affiche le flocon sur la scene
addChild(FloconActuel);
}

//fontion pour animer les flocons
function animation(NomParticule:Event):void {
//Recupere le nom du flocon
var FloconActuel:MovieClip=NomParticule.currentTarget as MovieClip;
//trace(FloconActuel.name);
FloconActuel.y+=FloconActuel.VitesseVerticale;
//si nous atteignons le bas de la scene
if (FloconActuel.y>=HauteurScene) {
modifierAspect(FloconActuel,false);
}
}

Stephane  | 2010-05-13 17:34:40

Bonjour,
Avant tout bravo pour ce tuto très complet. Ayant réalisé ce tuto avec un effet de pluie sur ma scène, je suis confronté à un problème très ennuyeux que je n'ai pu résoudre avec le peu de connaissances en AS3 que je possède.
Voici donc le problème: Lorsque j'importe un autre fichier SWF en cliquant sur un bouton de ma scène , le swf apparait normalement mais la pluie continue de tomber sur ce SWF, alors que celui-ci ne contient ni le movieclip ni le code... Ma question est simple, comment arrêter la pluie sur le fichier SWF qui est appelé grâce à mon bouton de ma scène principale.

Un grand merci d'avance

Jean-Luc Delon  | 2010-05-19 07:40:48

Bonjour,

Posez votre question dans le forum Flash chez Wisi bien sur.....

Gazelle  | 2010-12-13 01:09:21

Merci beaucoup pour ce très bon tutoriel particulièrement bien expliqué. Je connais assez bien AS2 mais je débute en AS3. Votre tuto m'est bien utile.

Mackpol  | 2010-12-30 16:25:46

Merci beaucoup pour ce tuto, très bien expliqué. J'apprends a utilisé Flash et je me suis creusé la tête a tournée les boucles dans tout les sens pour réussir a faire tomber mes petits flocons pendant des heures.

J'ai maintenant une joli scène et je comprends comment je l'ai fait.

obzilo  | 2011-03-19 18:27:41

Bonjour et merci pour ce tuto.

En fait, j'aimerai régler les paramètres de façon à supprimer totalement les effets d'opacité (je veux qu'ils aient tous la même opacité (100% opaque)). J'ai modifié les valeurs etc, supprimé des bouts, ça ne marche pas. Quelle est l'astuce ?

Merci.

willow  | 2011-12-21 14:12:22

Félicitation pour ce tuto.
Excellent résultat et possibilité énorme de modification.

Encore merci

Laura  | 2012-01-02 15:01:02

Bonjour,
merci beaucoup pour ce tuto très pédagogique.
Je voudrais l'utiliser en rajoutant un bouton pour arrêter la neige. Mais j'ai beau essayer, je n'arrive pas à interrompre la boucle. Pouvez-vous m'aider ?
Merci

verrier  | 2015-10-22 21:52:44

:-) MERCI !!

 Vous aussi, commentez l'article

  • Autres tutoriels du formateur
  • Galerie vidéo

    Galerie vidéo

    Jean-Luc Delon  |
    26 360

    Flash CS3

  • Cookie Flash

    Cookie Flash

    Jean-Luc Delon  |
    2 855

    Flash CS4

  • Script déplacement rotation

    Script déplacement rotation

    Jean-Luc Delon  |
    28 096

    Flash CS3

  • Interface, Info bulle, Spry Data Set et CSS sur Dreamweaver CS4

    Interface, Info bulle, Spry Data Set e…

    Jean-Luc Delon  |
    42 702

    Dreamweaver CS4

  • Faire vibrer un objet

    Faire vibrer un objet

    Jean-Luc Delon  |
    19 762

    Flash CS4


  • Remonter en haut du tutoriel

    Wisibility est un sité dédié à la formation aux métiers l’image. Vous y trouverez différentes ressources vous aidant à maîtriser les logiciels graphiques tels que Photoshop, Lightroom, Illustrator, InDesign, Flash… Aujourd’hui, Wisibility réunie plus d'une vingtaine d’experts, intervenant en Entreprise pour former graphistes, webdesigners, développeurs web, photographes, monteurs, trucistes…
    Depuis 2006 nous nous sommes spécialisés dans les tutoriels vidéos permettant de se former à distance. Notre forum très actif, géré par une équipe de bénévoles répondra à vos demandes. Vous pourrez également profiter de nos émissions et reportages sur la Wisi TV.
    Contact - Wisibility est une marque déposée

    Blog - Tutoriels - Wisi TV - Forum