Télécharger :
Préparation On modifie les propriétés du projet
On insère une instance de parchemin sur la scène et on l’aligne sur les bords 1 \fenêtre\aligner ou ctrl+k pour afficher l’onglet Mise en page des arrières-plan
Le canard animé (1) On crée un movieclip canard dans le dossier Jeu et on l’exporte pour ActionScript avec le nom canard. On importe sur la scène duck1.png et on répond oui pour importer les autres duck. On remarque que chaque image s’est mise sur un frame.
Le canard animé (2)
Nouveautés ActionScript Fonctions mathématiques : - Arrondir à l’unité : Math.round(10,5637) renvoie 11 - Tronquer à l’unité : int(10,5637) renvoie 10 - Générer une variable aléatoire qui suit une loi uniforme sur [0;1] : Math.random() renvoie par exemple Propriétés d’un clip : _x : coordonnées en x du clip en pixels _y : coordonnée en y en pixels _xscale : échelle en x en % 50% : la largeur du clip est réduite de moitié -100 % : la largeur du clip a sa taille d’origine mais le symétrique du clip par rapport à un axe parallèle à l’axe des x et passant par le centre du clip est affiché. _yscale : échelle en y en % Axe de symétrie
Systèmes de coordonnées de Flash x y 0 x y 0 En noir, c’est le système de coordonnées de la scène. En rouge, c’est le système de coordonnées du clip. Attention : quand on met le clip sur la scène, il est repéré par rapport au coin supérieur gauche, mais quand le fichier.swf est créé, il est repéré par rapport à son centre.
Autres commandes ActionScript : startDrag(…) : permet de déplacer un clip sous la souris. Il est possible de centrer le clip sur la souris. On peut également contraindre le déplacement dans un rectangle. attachMovie(« bidule », « mon_machin », 0) : permet d’afficher le clip nommé bidule (nom exporté pour ActionScript) à la profondeur 0 et de nommer cette instance mon_machin. On verra plus tard ce qu’est la profondeur. Truc=setInterval(ma_fonction, 1000) : permet de lancer ma_fonction toutes les 1000 millisecondes (toutes les secondes). Truc est le nom de setInterval et on s’en servira pour arrêter les appels de ma_fonction : c learInterval(Truc)
La profondeur La profondeur d’un objet est un nombre qui représente le plan qu’il occupe par rapport aux autres objets. Par exemple, un objet en arrière plan aura la profondeur la plus faible. A une profondeur, correspond au maximum un objet. Flash attribue automatiquement une profondeur à chaque objet de la scène. Le 1 er objet placé sur la scène aura une profondeur de -2 14, le 2 ème une profondeur de , etc… On peut utiliser les calques pour régler facilement la profondeur. On crée les canards en commençant à une profondeur de 1, ils seront donc au- dessus de tous les autres objets. Pour avoir le curseur au-dessus des canards, il faut changer sa profondeur manuellement via le code suivant : curseur.swapDepths(999999); Le curseur aura alors une profondeur de Cette commande s’appelle swapDepths car on permute la profondeur avec l’objet qui se situe à ce niveau au cas il y en aurait un. En effet, il ne peut y avoir au plus qu’un objet à une profondeur donnée. Attention : après avoir modifié sa profondeur, le curseur va rester sur toutes les frames si on ne le supprime pas !
Nouveautés ActionScript : Fonction mathématique : Pour avoir la valeur absolue d’un nombre : Math.abs(-34.45) retourne Math.PI : renvoie Math.atan(nombre) : renvoie l’arc tangente de nombre Propriétés d’un clip : _width : la largeur du clip. _alpha : la transparence d’un clip en %. 50 % : à moitié transparent 0 % : invisible _rotation : angle de rotation du clip. Le centre de rotation est le centre du clip : rotation de 45° dans le sens horaire -45 : rotation de 45° dans le sens antihoraire removeMovieClip() : supprime le clip de la scène
Mettre du son dans Flash Il y a 3 différentes manières d’ajouter du son à une animation : on peut charger un fichier externe (seulement s’il est au format MP3) : son2.loadSound("musique.mp3"); on peut lancer un son présent dans la bibliothèque par un code ActionScript : son1.attachSound("mon_son"); on peut associer un son à une frame : On peut alors lui ajouter des effets, jouer le son un certain nombre de fois, régler la synchronisation du son : - événement : le son se déclenche dès que la frame est atteinte. C’est ce qui est utilisé quand on lance un son via un code ActionScript. - démarrage : même chose que évènement sauf qu’il n’est pas possible de superposer plusieurs instances de cette musique (au cas où la frame est atteinte une 2ème fois avant que la musique déclenchée la 1ère fois ne soit finie). - arrêt : la musique sélectionnée s’arrête. - en continu : le son est parfaitement synchronisé. Sur un ordinateur lent, des frames seront passées afin que le son soit toujours en rapport avec l’image.
Chargement d’un fichier.swf On crée un fichier « Index.fla » dans le même répertoire. On règle ce nouveau projet : on utilise la même résolution (ici : 800x600). On ajoute à la frame 1 le code suivant : loadMovie("Tir aux canards.swf", 1); function rafraichit() { //On affiche le score uniquement s'il est défini if (_level1.score != undefined) { scorebis = _level1.score; } setInterval(rafraichit, 10); Nouveautés ActionScript : loadMovie("fichier.swf", niveau) : permet de charger un fichier.swf et de s’en servir comme un clip. Le niveau correspond à la hierarchie des animations (le niveau 0 est index.swf). On accède aux variables avec le préfixe _levelX avec X le niveau. unloadMovie(_levelX) : permet de fermer le.swf qui est sur le niveau X. Remarque : Quand on charge un.swf, il prend les mêmes propriétés que le.swf qui l’appelle (même cadence, même taille, même fond).