[flash 8] simple animation as d'oiseaux et de nuages

Description

Je cherchais un moyen court de rendre un vol d'oiseaux crédible, j'ai donc écrit ce très très simple code qui sera peut-être utile aux débutants. J'espère que le rendu vous plaira. Je pense qu'il serait encore mieux en baissant la luminosité des oiseaux des second et troisième plans...

- Le principe d'animation des nuages est le même que celui des oiseaux, en plus simple.
- J'utilise this dans mon code car je fais initialement charger ce flash dans un autre.
- La source est en Flash 8 car j'utilise un filtre flou pour les nuages.
- La photo représente l'Opéra de Paris.

Source / Exemple :


// Vitesse maxi des oiseaux
this.birdsMaxSpeed=3;
// Nombre d'oiseaux
this.birdsNumber=30;
// Fonction d'affichage
this.placeBirds=function(){
	for(i=1; i<=this.birdsNumber; i++){
		// Attachement du clip bird
		this.attachMovie("bird","bird"+i,i);
		// Position x entre 0 et -700
		this["bird"+i]._x=0-Math.round (Math.random ()*700);
		// Position y entre 100 et 217
		this["bird"+i]._y=100+Math.round (Math.random ()*117);
		// Vitesse entre 1 et vitesse maxi
		this["bird"+i].speed=1+Math.round (Math.random ()*(this.birdsMaxSpeed-1));
		// On décale le mouvement d'1 oiseau sur 3 de 5 images vers l'avant
		if (i%3==1){this["bird"+i].birdy.gotoAndPlay(5);}
		// On décale le mouvement d'1 oiseau sur 3 de 10 images vers l'avant
		if (i%3==2){this["bird"+i].birdy.gotoAndPlay(10);}
		// Taille de l'oiseau selon sa vitesse (100% pour 3, 50% pour 2, 33% pour 1)
		this["bird"+i]._xscale=100/(4-this["bird"+i].speed);
		this["bird"+i]._yscale=100/(4-this["bird"+i].speed);
		// On lance le mouvement de chaque oiseau
		this["bird"+i].onEnterFrame=function(){
			// Vitesse horizontale : constante selon la vitesse individuelle de départ
			this._x+=this.speed;
			// Déplacement horizontal aléatoire de plus ou moins 1 pixel, ou 0
			this._y+=Math.round (Math.random ()*2)-1;
			// A la sortie de l'écran, on renvoie l'oiseau deux écrans en arrière
			if (this._x>710){this._x=-700;}
		}
	}
}
this.placeBirds();

Conclusion :


C'est tout, j'ai dit que c'était du basique...

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.