NEIGE SUR VILLE, : FLOCONS ANIMÉS + DÉCORS DESSINÉ EN CODE 100% DYNAMIQUE

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 - 24 mai 2005 à 12:24
leguitou Messages postés 2 Date d'inscription samedi 25 novembre 2006 Statut Membre Dernière intervention 26 novembre 2010 - 26 nov. 2010 à 13:29
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/31571-neige-sur-ville-flocons-animes-decors-dessine-en-code-100-dynamique

leguitou Messages postés 2 Date d'inscription samedi 25 novembre 2006 Statut Membre Dernière intervention 26 novembre 2010
26 nov. 2010 à 13:29
Bonjour je me permets de relancer le post essayant désespérement de stoper la chute de ses flocons.

Merci par avance
leguitou Messages postés 2 Date d'inscription samedi 25 novembre 2006 Statut Membre Dernière intervention 26 novembre 2010
10 nov. 2010 à 18:13
Bonjour,

Le post date un peu, mais je suis en train d'utiliser ce script et j'aurais aimé qu'il s'arrête à la fin de mon animation.
J'ai essayer d'utiliser un breack ou encore un stop mais rien n'y fait.

Quelqu'un pour m'aider ?

Merci par avance.
slurp9562 Messages postés 20 Date d'inscription lundi 16 octobre 2006 Statut Membre Dernière intervention 24 juin 2007
17 juin 2007 à 10:07
J'avais déjà vu cette source quelque part... mais c'est super!
9/10!
bioblock Messages postés 1 Date d'inscription lundi 4 décembre 2006 Statut Membre Dernière intervention 8 décembre 2006
8 déc. 2006 à 12:40
Bonjour à tous,

Ce code est fort sympathique !

J'apprends le flash sur le tas, et me demandais comment optimiser le code afin qu'il ne prenne pas toutes les ressourcs CPU au bout d'une dizaine de minutes de lecture dans un navigateur.

> Quelqu'un pourrait-il publier une version optimisée ?

Merci,
Alexandre
ouiart Messages postés 18 Date d'inscription lundi 11 juillet 2005 Statut Membre Dernière intervention 2 juillet 2009
25 janv. 2006 à 16:17
Pendant que j'y suis, je cherche à mettre ce type d'anim. en code dans un masque. Mais la fonction de calque masqué classique ne fonctionne pas. Le code semble ne pas tenir compte de l'effet masque.
Comment faire ??
ouiart Messages postés 18 Date d'inscription lundi 11 juillet 2005 Statut Membre Dernière intervention 2 juillet 2009
25 janv. 2006 à 16:11
Bonjour,
Merci pour ce code qui effectivement donne un effet neige très sympa.
Je ne suis pas experte en code et je ne trouve pas comment accélérer la chute des flocons. Je pense avoir bien saisi les autres paramètres (quantité, grosseur, couleur, sens de la chute,?). Mais la vitesse, impossible de trouver.
Merci pour tes lumières?
lotfi2benak Messages postés 16 Date d'inscription dimanche 9 octobre 2005 Statut Membre Dernière intervention 2 août 2007
29 nov. 2005 à 18:53
belle anim. t'as pas une autre en plui ?

9/10
cs_padme Messages postés 4 Date d'inscription dimanche 15 février 2004 Statut Membre Dernière intervention 19 novembre 2005
19 nov. 2005 à 17:01
bonjour,
Tout d'abord, merci pour cette source que ej trouve très bien faite et qui donne à mon sens, le meilleur rendu de neige que j'ai pu voir jusqu'à présent.
Ensuite, je voudrai savoir, car je n'y connais rien en code, comment faire pour que l'animation ne démarre pas du point "0" à gauche de l'animation.
J'ai essayé de régler plusieurs paramètres, mais rien n'y fait, autant la valeur _y permet bien de changer la hauteur à laquelle la neige commence à tomber, autant pour le _x, je ne trouve pas.
Merci d'avance.
cs_lamor Messages postés 31 Date d'inscription dimanche 26 octobre 2003 Statut Membre Dernière intervention 18 septembre 2005
21 juin 2005 à 08:31
non c'est cool, c'est plus portable comme ca. c'est vrai que de ce point de vue je ne m'étais pas trop embêté.
par contre les flocons qui ne tombent pas vraiment droit à la verticale, c'est moin poétique.
quicknes Messages postés 1 Date d'inscription dimanche 13 juin 2004 Statut Membre Dernière intervention 21 juin 2005
21 juin 2005 à 00:53
salut je suis tout nouveau dans le milieu de flash (mais pas dans celui de la programmation) et j'ai un peu modifié la source ce qui permet de la parametrer plus facilement pour un non-initié
la direction de la chute de neige, la couleur ...

enfin je dit ca mais j'ai peut etre mis une grosse conerie :/ :)


// profondeur des clips :
prof = 2;
// fréquence des flocons
_root.nbr = 50;
// taille bg
TailleImageX=180;
TailleImageY=100;
// direction flocon: 0=aucune | 1=gauche | 2=droite
DirectionFlocon=1;
// la taille du flocon (enfin l'epaisseur quoi)
EpaisseurFlocon=30;
//couleur
CouleurFloconRVB="0xFFFFFF" //Blanc
//CouleurFloconRVB="0x000000" //Noir
//CouleurFloconRVB="0xFF0000" //Rouge vif
//CouleurFloconRVB="0x00FF00" //Vert vif
//CouleurFloconRVB="0x0000FF" //Bleu vif
//CouleurFloconRVB="0x7F7F7F" //Gris
//CouleurFloconRVB="0xFFFF00" //Jaune vif
//CouleurFloconRVB="0xFF7F7F" //Rouge pastel

// création d'un flocon générique
_root.createEmptyMovieClip("baseParticule", prof);
with (_root.baseParticule) {
_x = 0;
_y = 0;
_alpha = 0;
lineStyle(6, CouleurFloconRVB, EpaisseurFlocon);
moveTo(0, 0);
lineTo(4, 0);
}
// comportement du flocon
particule = function () {
prof++;
_root.baseParticule.duplicateMovieClip("p"+prof, prof);
_root["p"+prof]._y = 0;
_root["p"+prof]._x = random(TailleImageX);
_root["p"+prof].sens = Math.random(4)*3;
oh = _root["p"+prof].sens*2+1;
_root["p"+prof]._width = oh;
_root["p"+prof]._height = oh;
_root["p"+prof]._alpha = oh*12;

_root["p"+prof].onEnterFrame = function() {
if (this._y<TailleImageY) {
this._y += this.sens;

switch(DirectionFlocon){
case 0:
break;

case 1:
this._x -= this.sens;
break;

case 2:
this._x += this.sens;
break;

default:
break;
}

} else {
this._alpha--;
if (this._alpha<=0) {
this.removeMovieClip();
delete this.onEnterFrame;
}// if alpha
}//else
};
updateAfterEvent();
};
// mitraillage de flocons
baseInterv = setInterval(particule, _root.nbr);


stop();
magsag Messages postés 23 Date d'inscription dimanche 6 mars 2005 Statut Membre Dernière intervention 22 décembre 2005
2 juin 2005 à 18:49
Graphiquement c'est bon et réaliste. C'est pas grand chose mais c'est déjà bien.
Prouprou_Sensei Messages postés 517 Date d'inscription mardi 23 décembre 2003 Statut Membre Dernière intervention 24 octobre 2006 1
24 mai 2005 à 23:31
Juste une petite precision, le _root n'est pas une fatalité dans un clip importé, il suffit d'utiliser la propriété _lockRoot sur un clip !
A tchao !
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
24 mai 2005 à 22:09
alors je viens de faire le test et je confirme qu'il s'agit d'une variable :

Variable _level0.toto = [clip:_level0.Clip2]

Sachant que "clip2" est le nouveau nom de mon occurence ainsi dupliquée.
Cette astuce fonctionne aussi avec AttachMovie et permet d'alléger agréablement le code et si on colle la variable "toto" en "var" avec un attach, on optimise à fond les temps d'accés CPU !

Peg'
cs_dto Messages postés 70 Date d'inscription dimanche 7 septembre 2003 Statut Membre Dernière intervention 20 septembre 2006
24 mai 2005 à 21:59
Je dirais plutôt un MovieClip.

dto
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
24 mai 2005 à 18:19
arf, il faut que je vérifie, mais je crois que c'est une variable que tu peux définir en "var" et qui contiens le chemin de ton objet créé ... il te suffit de faire un trace (toto) pour le savoir ..
En fait, je ne me suis jamais posé la question.

Peg'
cs_lamor Messages postés 31 Date d'inscription dimanche 26 octobre 2003 Statut Membre Dernière intervention 18 septembre 2005
24 mai 2005 à 18:11
ah oui merci Peg pour ce précieux commentaire. le _root est effectivement à virer définitivement de mes codes.


sinon pour le "toto" que tu me conseilles, "toto" est definit en tant que quoi dans ce cas? c'est un objet?
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
24 mai 2005 à 12:26
ah oui : de même que tout tes "_root" sont inutiles, voir dangereux, car ils ne pourront pas être importer dans un clip ou réutilisés autre-part qu'à la racine de ton animation ... Préfère le "this" à la place.
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
24 mai 2005 à 12:24
un petit truc con, mais qui devrait t'aider :

toto = _root.baseParticule.duplicateMovieClip("p"+prof, prof);
toto._y = 0;
toto._x = random(800);
toto.sens = Math.random(4)*4;
toto. etc ...

C'est con, mais ça te fais gagner un temp fou !

Peg'
Rejoignez-nous