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

4/5 (30 avis)

Vue 30 580 fois - Téléchargée 4 239 fois

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

Ajouter un commentaire Commentaires
cs_tadio Messages postés 2 Date d'inscription samedi 6 octobre 2007 Statut Membre Dernière intervention 1 août 2010
1 août 2010 à 17:03
Bonjour,

Merci beaucoup pour ce code, ça m'a permis de comprendre des fonctions de base d'ActionScript (je débute en Flash).
Par exemple, la fonction "attachMovie" qui fait appel à l'identifiant du symbole et non à son nom dans la bibliothèque. Intéressante cette case "Exporter pour ActionScript" à cocher dans les propriétés du symbole, j'ai bien mis 2h avant de la trouver et donc comprendre pourquoi mon code ne fonctionnait pas...

Merci encore,

Tadio

PS : quelqu'un saurait-il comment activer cette option pour plusieurs symboles en même temps? J'en ai 360 à faire comme ça... Merci!
cs_tadio Messages postés 2 Date d'inscription samedi 6 octobre 2007 Statut Membre Dernière intervention 1 août 2010
1 août 2010 à 17:01
Bonjour,

Merci beaucoup pour ce code, ça m'a permis de comprendre des fonctions de base d'ActionScript (je débute en Flash).
Par exemple, la fonction "attachMovie" qui fait appel à l'identifiant du symbole et non à son nom dans la bibliothèque. Intéressante cette case "Exporter pour ActionScript" à cocher dans les propriétés du symbole, j'ai bien mis 2h avant de la trouver et donc comprendre pourquoi mon code ne fonctionnait pas...

Merci encore,

Tadio
webrunner Messages postés 156 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 27 janvier 2009
27 janv. 2009 à 13:19
Oui c'est de l'image par image... Il faut ouvrir le clip bird pour voir les étapes de l'animation.
tinanard Messages postés 1 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 27 janvier 2009
27 janv. 2009 à 04:40
je voulais juste savoir comment faire une animation de battement des ailes aussi fluide
?c'est image par image?merci.super animation tres utile.
wilogik Messages postés 4 Date d'inscription mercredi 19 septembre 2007 Statut Membre Dernière intervention 15 décembre 2008
15 déc. 2008 à 23:27
un merci un peu tardif mais merci beaucoup ça fonctionne :)
Afficher les 30 commentaires

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.