Introduction
Bienvenue sur la page de consultation et de téléchargement d'exemples de codes sur le site Yazo.net. Recherchez simplement un "mot" à travers la fonction "Recherche" de votre navigateur, puis vous pourrez ensuite copier-coller le script qui vous intéresse.
Astuce : Si vous ajoutez à la suite de cette URL le nom du fichier au format FLA ou SWF, vous pourrez télécharger le fichier Flash ou visualiser le résultat.
Clic sur une occurrence : addEventListener.fla
carre.addEventListener(MouseEvent.MOUSE_DOWN,tourner);
function tourner(evt:MouseEvent) {
carre.rotation = 45;
}
Plusieurs clics sur plusieurs occurrence avec une seule fonction : addEventListener2.fla
carre1.addEventListener(MouseEvent.MOUSE_DOWN,tourner);
carre2.addEventListener(MouseEvent.MOUSE_DOWN,tourner);
carre3.addEventListener(MouseEvent.MOUSE_DOWN,tourner);
function tourner(evt:MouseEvent) {
evt.currentTarget.rotation = 45;
}
Instruction exécutée en continue : addEventListener3.fla
carre.addEventListener(Event.ENTER_FRAME,tourner);
function tourner(evt:Event) {
evt.currentTarget.rotation ++;
}
moteur.addEventListener(Event.ENTER_FRAME,agir);
function agir(evt:Event) {
aiguille.rotation +=3;
filet.scaleX+=0.01;
}
Clic sur une occurrence pour déclencher/arrêter une instruction exécutée en continue : addEventListener4.fla
btMarche.addEventListener(MouseEvent.MOUSE_DOWN,lancer);
btArret.addEventListener(MouseEvent.MOUSE_DOWN,arreter);
function lancer(evt:MouseEvent) {
aiguille.addEventListener(Event.ENTER_FRAME,tourner);
}
function arreter(evt:MouseEvent) {
aiguille.removeEventListener(Event.ENTER_FRAME,tourner);
}
function tourner(evt:Event) {
evt.currentTarget.rotation ++;
}
Bouton bascule à deux états, exécutant deux instrustions différentes : addEventListener5.fla
var etatAction = false;
btInterrupteur.addEventListener(MouseEvent.MOUSE_DOWN,activerDesactiver);
function activerDesactiver(evt:MouseEvent) {
if (etatAction) {
aiguille.removeEventListener(Event.ENTER_FRAME,tourner);
} else {
aiguille.addEventListener(Event.ENTER_FRAME,tourner);
}
etatAction = !etatAction;
}
function tourner(evt:Event) {
evt.currentTarget.rotation ++;
}
Pression sur une touche du clavier pour exécuter une ligne d'instruction : addEventListener6.fla
stage.addEventListener(KeyboardEvent.KEY_DOWN,tourner);
function tourner(evt:KeyboardEvent) {
aiguille.rotation=45;
}
Pression sur une touche du clavier pour exécuter une ligne d'instruction : addEventListener7.fla
stage.addEventListener(KeyboardEvent.KEY_DOWN,tourner);
function tourner(evt:KeyboardEvent) {
if (evt.keyCode==32) aiguille.rotation = 0;
if (evt.keyCode==37) aiguille.rotation -=3;
if (evt.keyCode==39) aiguille.rotation +=3;
}
Fonction callBack avec une variable locale : addEventListener8.fla
bt1.valeurAngle=15;
bt2.valeurAngle=35;
bt3.valeurAngle=7;
bt1.addEventListener(MouseEvent.MOUSE_DOWN,reglerAngle);
bt2.addEventListener(MouseEvent.MOUSE_DOWN,reglerAngle);
bt3.addEventListener(MouseEvent.MOUSE_DOWN,reglerAngle);
function reglerAngle(evt:MouseEvent) {
evt.currentTarget.rotation = evt.currentTarget.valeurAngle;
}
Charger une image sur la scène : chargerImage.fla
var chargeur:Loader = new Loader();
var adresseImage:URLRequest = new URLRequest("image1.png");
chargeur.load(adresseImage);
addChild(chargeur);
Charger une image sur la scène et la rendre cliquable : chargerImage2.fla
var chargeur:Loader = new Loader();
var adresseImage:URLRequest = new URLRequest("image1.png");
chargeur.load(adresseImage);
addChild(chargeur);
chargeur.addEventListener(MouseEvent.MOUSE_DOWN,reduireOccurrence);
function reduireOccurrence(evt:MouseEvent) {
chargeur.scaleX = chargeur.scaleY = 0.5;
chargeur.x=150;
chargeur.y=80;
}
Charger plusieurs images sur la scène : chargerImage3.fla
var chargeur:Loader;
var adresseImage:URLRequest = new URLRequest();
for (var i:Number=0; i<=3; i++) {
chargeur = new Loader();
//adresseImage = new URLRequest("images/image"+i+".png");
adresseImage.url = "images/image"+i+".png";
chargeur.load(adresseImage);
chargeur.x=(i*150);
addChild(chargeur);
}
Charger plusieurs images sur la scène et les rendre cliquables : chargerImage4.fla
var chargeur:Loader;
var adresseImage:URLRequest;
for (var i:Number=0; i<=3; i++) {
chargeur = new Loader();
adresseImage = new URLRequest("images/image"+i+".png");
chargeur.load(adresseImage);
chargeur.x=(i*150);
chargeur.y=120;
chargeur.alpha = 0.7;
addChild(chargeur);
chargeur.addEventListener(MouseEvent.MOUSE_OVER,opacite100);
function opacite100(evt:MouseEvent) {
evt.currentTarget.alpha = 1;
}
chargeur.addEventListener(MouseEvent.MOUSE_OUT,opacite50);
function opacite50(evt:MouseEvent) {
evt.currentTarget.alpha = 0.5;
}
}
Charger et décharger une image sur la scène : chargerImage5.fla
var chargeur:Loader = new Loader();
var adresseImage:URLRequest =new URLRequest("images/image1.png");
chargeur.load(adresseImage);
addChild(chargeur);
chargeur.addEventListener(MouseEvent.MOUSE_DOWN,supprimerOccurrence);
function supprimerOccurrence(evt:MouseEvent) {
removeChild(chargeur);
//removeChild(DisplayObject(evt.currentTarget));
}
Charger et décharger plusieurs images sur la scène : chargerImage6.fla
var chargeur:Loader;
var adresseImage:URLRequest;
for (var i:Number=0; i<=3; i++) {
chargeur = new Loader();
adresseImage = new URLRequest("images/image"+i+".png");
chargeur.load(adresseImage);
chargeur.x=(i*150);
addChild(chargeur);
chargeur.addEventListener(MouseEvent.MOUSE_DOWN,supprimerOccurrence);
function supprimerOccurrence(evt:MouseEvent) {
removeChild(DisplayObject(evt.currentTarget));
}
}
Charger plusieurs images en réaction à un clic à un même emplacement : chargerImage7.fla
var chargeur:Loader = new Loader();
var adresseImage:URLRequest = new URLRequest("images/image0.png");
chargeur.load(adresseImage);
addChild(chargeur);
chargeur.x=150;
chargeur.y=120;
bt1.addEventListener(MouseEvent.MOUSE_DOWN,chargerImage);
bt2.addEventListener(MouseEvent.MOUSE_DOWN,chargerImage);
bt3.addEventListener(MouseEvent.MOUSE_DOWN,chargerImage);
bt1.nomFichier="image0.png";
bt2.nomFichier="image1.png";
bt3.nomFichier="image2.png";
function chargerImage(evt:MouseEvent) {
adresseImage.url = "images/"+evt.currentTarget.nomFichier;
chargeur.load(adresseImage);
}
Exemple d'animation à l'interface construite à base de code : constructionDynamique.fla
var btRubrique:Bouton;
var zoneActive:Sprite;
var barreMenus:Sprite;
var titresBoutons:Array = ["Destinations","Promotions","Carte du monde","Nous contacter"];
var texteDestinations:TextField;
var textePromotions:TextField;
var texteCarteDuMonde:TextField;
var texteContacts:TextField;
function reinitialiserContenuScene() {
if (zoneActive !=null) {
removeChild(zoneActive);
zoneActive = new Sprite();
addChild(zoneActive);
} else {
zoneActive = new Sprite();
addChild(zoneActive);
}
}
barreMenus = new Sprite();
addChild(barreMenus);
for (var i:Number=0; i<=3; i++) {
btRubrique=new Bouton();
barreMenus.addChild(btRubrique);
btRubrique.x=83+(i*144.7);
btRubrique.y=25;
btRubrique.titreBouton.text = titresBoutons[i];
btRubrique.addEventListener(MouseEvent.MOUSE_DOWN,afficherRubrique);
btRubrique.numeroBouton = i;
}
function afficherRubrique(evt:MouseEvent) {
reinitialiserContenuScene();
switch (evt.currentTarget.numeroBouton) {
case 0 :
afficherDestinations();
break;
case 1 :
afficherPromotions();
break;
case 2 :
afficherCarteDuMonde();
break;
case 3 :
afficherContacts();
break;
}
}
function afficherDestinations() {
texteDestinations = new TextField();
texteDestinations.text = "Destinations";
texteDestinations.x=50;
texteDestinations.y=50;
zoneActive.addChild(texteDestinations);
}
function afficherPromotions() {
textePromotions = new TextField();
textePromotions.text = "Promotions";
textePromotions.x=50;
textePromotions.y=50;
zoneActive.addChild(textePromotions);
}
function afficherCarteDuMonde() {
texteCarteDuMonde = new TextField();
texteCarteDuMonde.text = "Carte du monde";
texteCarteDuMonde.x=50;
texteCarteDuMonde.y=50;
zoneActive.addChild(texteCarteDuMonde);
}
function afficherContacts() {
texteContacts = new TextField();
texteContacts.text = "Nous contacter";
texteContacts.x=50;
texteContacts.y=50;
zoneActive.addChild(texteContacts);
}
Glisser-déplacer d'occurrence : draganddrop.fla
carte.addEventListener(MouseEvent.MOUSE_DOWN,deplacerCarte);
carte.addEventListener(MouseEvent.MOUSE_UP,relacherCarte);
function deplacerCarte(evt:MouseEvent) {
carte.startDrag(false);
}
function relacherCarte(evt:MouseEvent) {
carte.stopDrag();
}
Glisser-déplacer de plusieurs occurrences : draganddrop2.fla
carte1.addEventListener(MouseEvent.MOUSE_DOWN,deplacerCarte);
carte2.addEventListener(MouseEvent.MOUSE_DOWN,deplacerCarte);
carte3.addEventListener(MouseEvent.MOUSE_DOWN,deplacerCarte);
function deplacerCarte(evt:MouseEvent) {
evt.currentTarget.startDrag(false);
evt.currentTarget.addEventListener(MouseEvent.MOUSE_UP,relacherCarte);
}
function relacherCarte(evt:MouseEvent) {
evt.currentTarget.stopDrag();
}
Glisser-déplacer d'occurrence avec une contrainte de déplacement (linéaire) : draganddrop3.fla
var zoneDeContrainte:Rectangle = new Rectangle(100,175,230,1);
curseur.addEventListener(MouseEvent.MOUSE_DOWN,deplacerCurseur);
function deplacerCurseur(evt:MouseEvent) {
evt.currentTarget.startDrag(false, zoneDeContrainte);
evt.currentTarget.addEventListener(MouseEvent.MOUSE_UP,relacherCurseur);
}
function relacherCurseur(evt:MouseEvent) {
evt.currentTarget.stopDrag();
}
Glisser-déplacer d'occurrence en relâchant le clic en dehors de l'occurrence : draganddrop4.fla
var zoneDeContrainte:Rectangle = new Rectangle(100,175,230,0);
curseur.addEventListener(MouseEvent.MOUSE_DOWN,deplacerCurseur);
function deplacerCurseur(evt:MouseEvent) {
evt.currentTarget.startDrag(false, zoneDeContrainte);
evt.currentTarget.addEventListener(MouseEvent.MOUSE_UP,relacherCurseur);
stage.addEventListener(MouseEvent.MOUSE_UP,relacherCurseur);
}
function relacherCurseur(evt:MouseEvent) {
curseur.stopDrag();
}
Glisser-déplacer d'occurrence tout en exécutant une ligne d'instruction : draganddrop5.fla
var zoneDeContrainte:Rectangle = new Rectangle(160,175,230,0);
curseur.addEventListener(MouseEvent.MOUSE_DOWN,deplacerCurseur);
function deplacerCurseur(evt:MouseEvent) {
evt.currentTarget.startDrag(false, zoneDeContrainte);
evt.currentTarget.addEventListener(MouseEvent.MOUSE_UP,relacherCurseur);
evt.currentTarget.addEventListener(Event.ENTER_FRAME,miseAJourInfos);
stage.addEventListener(MouseEvent.MOUSE_UP,relacherCurseur);
}
function relacherCurseur(evt:MouseEvent) {
curseur.stopDrag();
curseur.removeEventListener(MouseEvent.MOUSE_MOVE,miseAJourInfos);
}
function miseAJourInfos(evt:Event) {
var valeurRecuperee = curseur.x-160;
affichageValeur.text = valeurRecuperee.toString();
affichageValeur2.text = (valeurRecuperee/2.3).toString();
cacheTexte.alpha = valeurRecuperee/230;
}
Appliquer une ombre à une occurrence : filtre1.fla
import flash.filters.DropShadowFilter;
var serieFiltres:Array = new Array();
var ombre = new DropShadowFilter();
serieFiltres.push(ombre);
carte.filters = serieFiltres;
Appliquer une ombre à une occurrence : filtre2.fla
import flash.filters.DropShadowFilter;
var serieFiltres:Array = new Array();
var ombre = new DropShadowFilter();
ombre.angle = 45;
ombre.alpha = 0.5;
ombre.distance = 7;
ombre.blurX = 7;
ombre.blurY = 7;
serieFiltres.push(ombre);
carte.filters = serieFiltres;
Afficher les chiffres 0 à 9 dans la fenêtre de sortie de Flash : for1.fla
for (var compteur=0; compteur <10; compteur++) {
trace(compteur);
}
Remplir un texte dynamique de 3 façons différentes : for2.fla
zoneDeTexte.text="";
for (var compteur=0; compteur <10; compteur++) {
zoneDeTexte.appendText(compteur+"\n");
}
zoneDeTexte2.text="";
for (var numero=0; numero <10; numero++) {
zoneDeTexte2.appendText("Joueur N°"+numero+"\n");
}
var jours = ["Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi","Dimanche"];
zoneDeTexte3.text="";
for (var index=0; index <jours.length; index++) {
zoneDeTexte3.appendText(jours[index]+"\n");
}
Créer plusieurs dynamiques sur la scène : for3.fla
var zoneDeTexte:TextField;
for (var compteur=0; compteur <10; compteur++) {
zoneDeTexte = new TextField();
zoneDeTexte.text = "Film "+compteur;
zoneDeTexte.x=20;
zoneDeTexte.y=20+compteur*20;
addChild(zoneDeTexte);
}
Placer dynamiquement des symboles sur la scène : for4.fla
var boutonDeNavig:BoutonNavigation;
for (var compteur=0; compteur <10; compteur++) {
boutonDeNavig = new BoutonNavigation();
boutonDeNavig.x=100;
boutonDeNavig.y=40+compteur*22;
addChild(boutonDeNavig);
}
Afficher la scène en mode plein écran en projection (SWF lu localement) : fullScreen.fla
stage.displayState=StageDisplayState.FULL_SCREEN;
stage.scaleMode=StageScaleMode.NO_SCALE;
Créer trois rectangles aux coins arrondis. Un plein avec contour, un plein sans contour, un vide avec contour : graphics1.fla
var cadreMargeGauche:Sprite = new Sprite();
cadreMargeGauche.graphics.lineStyle(1,0,1,true);
cadreMargeGauche.graphics.drawRoundRect(10,10,80,320,20,20);
addChild(cadreMargeGauche);
var entete:Sprite = new Sprite();
entete.graphics.beginFill(0x006666,0.5);
entete.graphics.lineStyle(1,0,1,true);
entete.graphics.drawRoundRect(100,10,480,100,20,20);
entete.graphics.endFill();
addChild(entete);
var corps:Sprite = new Sprite();
corps.graphics.beginFill(0x006666,0.5);
corps.graphics.drawRoundRect(100,120,480,210,20,20);
corps.graphics.endFill();
addChild(corps);
corps.addEventListener(MouseEvent.MOUSE_DOWN,test)
function test (evt:MouseEvent) {
trace("oui")
}
// Une instance de la classe Shape prend moins de mémoire mais n'est pas cliquable.
Créer un rectangle et le faire tourner automatiquement : graphics2.fla
var planche:Sprite = new Sprite();
planche.graphics.lineStyle(1,0,1,true);
planche.graphics.drawRect(-40,-100,80,200);
addChild(planche);
planche.x=300,
planche.y=175;
planche.addEventListener(Event.ENTER_FRAME,tourner);
function tourner(evt:Event) {
evt.currentTarget.rotation+=3;
}
// Une instance de la classe Shape prend moins de mémoire mais n'est pas cliquable.
Créer un rond dynamiquement et le rendre cliquable : graphics3.fla
var rond:Sprite = new Sprite();
function tracerRond(nom,couleur,placeX,placeY,rayon) {
rond = new Sprite();
rond.graphics.lineStyle(1,0,1,true);
rond.graphics.beginFill(couleur);
rond.graphics.drawCircle(0,0,rayon);
rond.x=placeX
rond.y=placeY
rond.graphics.endFill();
addChild(rond);
rond.name = nom;
}
tracerRond("zone1",0xAA0000,120,120,40);
tracerRond("zone2",0xAA0000,200,120,30);
getChildByName("zone1").addEventListener(MouseEvent.MOUSE_DOWN,rendreTransparent);
getChildByName("zone2").addEventListener(MouseEvent.MOUSE_DOWN,grossir);
function rendreTransparent(evt:MouseEvent) {
evt.currentTarget.alpha-=0.1;
}
function grossir(evt:MouseEvent) {
evt.currentTarget.scaleX+=0.1;
evt.currentTarget.scaleY+=0.1;
}
//Pour ne pas avoir à faire appel à la méthode getChildByName(), vous devez inclure addEventListener dans la fonction tracerRond,
//mais vous devez dans ce cas gérer la même interactivité. Consultez l'animation graphics4.fla.
Créer une fonction pour créer plus facilement des formes vectorielles : graphics4.fla
var rond:Sprite = new Sprite();
function tracerRond(couleur,placeX,placeY,rayon) {
rond = new Sprite();
rond.graphics.lineStyle(1,0,1,true);
rond.graphics.beginFill(couleur);
rond.graphics.drawCircle(placeX,placeY,rayon);
rond.graphics.endFill();
addChild(rond).addEventListener(MouseEvent.MOUSE_DOWN,rendrePlusTransparent);;
}
function rendrePlusTransparent(evt:MouseEvent) {
evt.currentTarget.alpha-=0.1;
}
tracerRond(0xAA0000,120,120,40);
tracerRond(0xAA0000,200,120,30);
Test de sortie d'une occurrence en dehors de la scène : if.fla
perso.addEventListener(Event.ENTER_FRAME,deplacerPerso);
function deplacerPerso(evt:Event) {
perso.x+=5;
if(perso.x>630) perso.x=-50
}
Test de sortie d'une occurrence en dehors de la scène : if2.fla
perso.addEventListener(Event.ENTER_FRAME,deplacerPerso);
function deplacerPerso(evt:Event) {
perso.x+=10;
if (perso.x>630) {
perso.x=-50;
perso.y+=30;
}
if (perso.x>=570 && perso.y>280) {
perso.removeEventListener(Event.ENTER_FRAME,deplacerPerso);
}
}
Carouselle avec défilement en fonction de la position de la souris : if3.fla
premierPlan.addEventListener(Event.ENTER_FRAME, bouger);
function bouger(evt:Event) {
premierPlan.x+=(200-mouseX)/80;
arrierePlan.x+=(200-mouseX)/90;
if(premierPlan.x>0) premierPlan.x=0
if(arrierePlan.x>0) arrierePlan.x=0
if(premierPlan.x<-600) premierPlan.x=-600
if(arrierePlan.x<-600) arrierePlan.x=-600
}
Drag and drop d'une occurrence rendue immobile si relâchée à un endroit précis de la scène : if4.fla
carte.addEventListener(MouseEvent.MOUSE_DOWN,deplacerCarte);
carte.addEventListener(MouseEvent.MOUSE_UP,relacherCarte);
function deplacerCarte(evt:MouseEvent) {
evt.currentTarget.startDrag(false);
}
function relacherCarte(evt:MouseEvent) {
evt.currentTarget.stopDrag();
if (evt.currentTarget.x>300) {
evt.currentTarget.mouseEnabled = false;
evt.currentTarget.alpha=0.5;
evt.currentTarget.scaleX=0.9;
evt.currentTarget.scaleY=0.9;
}
}
Drang and drop identique à l'animation if4.fla avec un replacement de l'occurrence si relâchée au mauvais endroit sur la scène : if5.fla
carte.addEventListener(MouseEvent.MOUSE_DOWN,deplacerCarte);
carte.addEventListener(MouseEvent.MOUSE_UP,relacherCarte);
var positionXSaisie:Number;
var positionYSaisie:Number;
function deplacerCarte(evt:MouseEvent) {
evt.currentTarget.startDrag(false);
positionXSaisie=evt.currentTarget.x;
positionYSaisie=evt.currentTarget.y;
}
function relacherCarte(evt:MouseEvent) {
evt.currentTarget.stopDrag();
if (evt.currentTarget.x>300) {
evt.currentTarget.mouseEnabled = false;
evt.currentTarget.alpha=0.5;
evt.currentTarget.scaleX=0.9;
evt.currentTarget.scaleY=0.9;
} else {
evt.currentTarget.x=positionXSaisie;
evt.currentTarget.y=positionYSaisie;
}
}
Déplacement linéaire d'une occurrence sur la scène : mouvement1.fla
volet.addEventListener(Event.ENTER_FRAME,leverRideau);
function leverRideau(evt:Event) {
evt.currentTarget.y--;
}
Déplacement linéaire d'une occurrence sur la scène : mouvement2.fla
volet.addEventListener(Event.ENTER_FRAME,leverRideau);
function leverRideau(evt:Event) {
evt.currentTarget.y-=5;
if(evt.currentTarget.y<=-165) volet.removeEventListener(Event.ENTER_FRAME,leverRideau);
}
Une occurrence suit les mouvements de la souris : mouvement3.fla
bete.addEventListener(Event.ENTER_FRAME,deplacerBete);
function deplacerBete(evt:Event) {
evt.currentTarget.y+=(mouseY-evt.currentTarget.y)*0.1;
evt.currentTarget.x+=(mouseX-evt.currentTarget.x)*0.1;
}
Déplacement de plusieurs occurrences à l'emplacement du clic de la souris : mouvement4.fla
bete.addEventListener(Event.ENTER_FRAME,deplacerBete);
function deplacerBete(evt:Event) {
evt.currentTarget.x+=(mouseX-evt.currentTarget.x)*0.1;
evt.currentTarget.y+=(mouseY-evt.currentTarget.y)*0.1;
bete2.x+=(mouseX-bete2.x)*0.07;
bete2.y+=(mouseY-bete2.y)*0.07;
bete3.x+=(mouseX-bete3.x)*0.05;
bete3.y+=(mouseY-bete3.y)*0.05;
}
Déplacement d'une occurrence à l'emplacement du clic de la souris : mouvement5.fla
var destX:Number=300;
var destY:Number=175;
stage.addEventListener(MouseEvent.MOUSE_DOWN,lancerDeplacement);
function lancerDeplacement(evt:MouseEvent) {
destX=mouseX;
destY=mouseY;
bete.addEventListener(Event.ENTER_FRAME,deplacerBete);
}
function deplacerBete(evt:Event) {
evt.currentTarget.x+=(destX-evt.currentTarget.x)*0.1;
evt.currentTarget.y+=(destY-evt.currentTarget.y)*0.1;
}
Mouvement sinusoïdale : mouvement6.fla
var valeurCroissante:Number=0;
bete.addEventListener(Event.ENTER_FRAME,deplacerBete);
function deplacerBete(evt:Event) {
valeurCroissante+=0.1;
evt.currentTarget.x+=1;
evt.currentTarget.y=175+Math.sin(valeurCroissante)*50;
}
Mouvement ciculaire : mouvement7.fla
var valeurCroissante:Number=0;
bete.addEventListener(Event.ENTER_FRAME,deplacerBete);
function deplacerBete(evt:Event) {
valeurCroissante+=0.1;
evt.currentTarget.x=300+Math.cos(valeurCroissante)*50;
evt.currentTarget.y=175+Math.sin(valeurCroissante)*50;
}
Déplacement linéaire à base de la classe Tween : mouvement8.fla
import fl.transitions.easing.*;
import fl.transitions.Tween;
var mouvementLigneDroite:Tween = new Tween(bete,"x",Bounce.easeOut,bete.x,500,4,true);
Déplacement d'une occurrence à l'emplacement du clic de la souris : mouvement9.fla
import fl.transitions.easing.*;
import fl.transitions.Tween;
var mouvementX:Tween;
var mouvementY:Tween;
stage.addEventListener(MouseEvent.MOUSE_DOWN,deplacerBete);
function deplacerBete(evt:MouseEvent) {
mouvementX = new Tween(bete,"x",Regular.easeOut,bete.x,mouseX,0.7,true);
mouvementY = new Tween(bete,"y",Regular.easeOut,bete.y,mouseY,0.7,true);
}
Exécuter une instruction à la fin d'une interpolation à base de la classe Tween : mouvement10.fla
import fl.transitions.easing.*;
import fl.transitions.Tween;
import fl.transitions.TweenEvent;
var mouvementX:Tween;
var mouvementY:Tween;
stage.addEventListener(MouseEvent.MOUSE_DOWN,deplacerBete);
function deplacerBete(evt:MouseEvent) {
bete.scaleX = bete.scaleY = 0.5;
mouvementX = new Tween(bete,"x",Regular.easeOut,bete.x,mouseX,1.5,true);
mouvementY = new Tween(bete,"y",Regular.easeOut,bete.y,mouseY,1.5,true);
mouvementX.addEventListener(TweenEvent.MOTION_FINISH,retablirForme);
}
function retablirForme(evt:TweenEvent) {
bete.scaleX = bete.scaleY = 1;
}
Placer une occurrence au premier plan : plan1.fla
carte1.addEventListener(MouseEvent.MOUSE_DOWN,cartePremierPlan);
function cartePremierPlan(evt:MouseEvent) {
setChildIndex(carte1,numChildren-1);
}
Placer n'importe quelle occurrence cliquée au premier plan : plan2.fla
carte1.addEventListener(MouseEvent.MOUSE_DOWN,cartePremierPlan);
carte2.addEventListener(MouseEvent.MOUSE_DOWN,cartePremierPlan);
carte3.addEventListener(MouseEvent.MOUSE_DOWN,cartePremierPlan);
function cartePremierPlan(evt:MouseEvent) {
setChildIndex(DisplayObject(evt.currentTarget),numChildren-1);
}
Lire un son automatiquement (au lancement de l'animation) : son1.fla
var ecoute:Sound = new Sound();
var adresseFichierSon:URLRequest = new URLRequest("Chopin.mp3");
ecoute.load(adresseFichierSon);
ecoute.play();
/*var ecoute:Sound = new Sound();
var adresseFichierSon:URLRequest = new URLRequest("Chopin.mp3");
ecoute.load(adresseFichierSon);
ecoute.play();*/
Contrôler la lecture et l'arrêt d'un son lors d'un clic sur deux occurrences : son2.fla
var ecoute:Sound = new Sound();
var adresseFichierSon:URLRequest = new URLRequest("Chopin.mp3");
ecoute.load(adresseFichierSon);
boutonLecture.addEventListener(MouseEvent.MOUSE_DOWN,lireSon);
boutonArret.addEventListener(MouseEvent.MOUSE_DOWN,arreterSon);
var piste1:SoundChannel;
function lireSon(evt:MouseEvent) {
piste1 = ecoute.play();
}
function arreterSon(evt:MouseEvent) {
piste1.stop();
}
Contrôler la lecture et l'arrêt d'un son lors d'un clic sur deux occurrences : son3.fla
var ecoute:Sound = new Sound();
var adresseFichierSon:URLRequest = new URLRequest("Chopin.mp3");
ecoute.load(adresseFichierSon);
boutonLecture.addEventListener(MouseEvent.MOUSE_DOWN,lireSon);
boutonArret.addEventListener(MouseEvent.MOUSE_DOWN,arreterSon);
var piste1:SoundChannel;
function lireSon(evt:MouseEvent) {
piste1 = ecoute.play();
boutonLecture.enabled = false;
boutonLecture.scaleX=boutonLecture.scaleY = 0.9;
boutonArret.scaleX=boutonArret.scaleY = 1;
}
function arreterSon(evt:MouseEvent) {
piste1.stop();
boutonLecture.enabled = true;
boutonLecture.scaleX=boutonLecture.scaleY = 1;
boutonArret.scaleX=boutonArret.scaleY = 0.9;
}
Gérer la fonction de "Pause" lors de la lecture d'un son : son4.fla
var ecoute:Sound = new Sound();
var adresseFichierSon:URLRequest = new URLRequest("Chopin.mp3");
ecoute.load(adresseFichierSon);
etiquetteBouton.text="Lecture";
var positionTete:Number = 0;
boutonLecture.addEventListener(MouseEvent.MOUSE_DOWN,lecturePauseSon);
var piste1:SoundChannel;
function lecturePauseSon(evt:MouseEvent) {
if (etiquetteBouton.text=="Lecture") {
piste1 = ecoute.play(positionTete);
etiquetteBouton.text="Pause";
} else {
positionTete=piste1.position;
etiquetteBouton.text="Lecture";
piste1.stop();
}
}
Gérer la fonction de "Pause" lors de la lecture d'un son : son5.fla
var ecoute:Sound = new Sound();
var adresseFichierSon:URLRequest = new URLRequest("Chopin.mp3");
ecoute.load(adresseFichierSon);
var positionTete:Number = 0;
boutonLecture.addEventListener(MouseEvent.MOUSE_DOWN,lecturePauseSon);
var piste1:SoundChannel;
function lecturePauseSon(evt:MouseEvent) {
if (boutonLecture.currentFrame==1) {
piste1 = ecoute.play(positionTete);
boutonLecture.gotoAndStop(2);
} else {
positionTete=piste1.position;
boutonLecture.gotoAndStop(1);
piste1.stop();
}
}
Gérer/détecter la fin de la lecture d'un son : son6.fla
var ecoute:Sound = new Sound();
var adresseFichierSon:URLRequest = new URLRequest("Chopin.mp3");
ecoute.load(adresseFichierSon);
var piste1:SoundChannel;
boutonLecture.addEventListener(MouseEvent.MOUSE_DOWN,lectureSon);
function lectureSon(evt:MouseEvent) {
piste1 = ecoute.play();
boutonLecture.mouseEnabled = false;
boutonLecture.alpha=0.7;
piste1.addEventListener(Event.SOUND_COMPLETE,finDuSon);
}
function finDuSon(evt:Event) {
boutonLecture.mouseEnabled = true;
boutonLecture.alpha=1;
piste1.removeEventListener(Event.SOUND_COMPLETE,finDuSon);
}
Afficher la position de la tête de lecture d'un son sous la forme 00:00:00 : son7.fla
var ecoute:Sound = new Sound();
var adresseFichierSon:URLRequest = new URLRequest("Chopin.mp3");
ecoute.load(adresseFichierSon);
var piste1:SoundChannel;
var positionTete:Number = 0;
var heures:*;
var minutes:*;
var secondes:*;
boutonLecture.addEventListener(MouseEvent.MOUSE_DOWN,lectureSon);
function lectureSon(evt:MouseEvent) {
piste1 = ecoute.play();
boutonLecture.addEventListener(Event.ENTER_FRAME,sonEnCours);
}
function sonEnCours (evt:Event) {
positionTete = piste1.position/1000;
heures = Math.floor(positionTete/3600);
minutes = Math.floor(positionTete/60);
secondes = Math.floor(positionTete%60);
heures= heures<=9 ? "0"+heures : heures;
minutes= minutes<=9 ? "0"+minutes : minutes;
secondes= secondes<=9 ? "0"+secondes : secondes;
affichageTemps.text = heures+":"+minutes+":"+secondes;
}
Placer un symbole dynamiquement sur la scène : symboleDynamique.fla
var etoile1:Etoile = new Etoile();
etoile1.x=300;
etoile1.y=120;
addChild(etoile1);
Placer et supprimer un symbole dynamiquement sur la scène : symboleDynamique2.fla
var etoile1:Etoile = new Etoile();
etoile1.x=300;
etoile1.y=120;
addChild(etoile1);
etoile1.addEventListener(MouseEvent.MOUSE_DOWN,retirerEtoile);
function retirerEtoile(evt:MouseEvent) {
etoile1.removeChild();
}
Différentes techniques d'affichage d'un texte sur la scène : text1.fla
titre.text = "Jours de la semaine";
nombreDeJours.text = "12";
calcul.text = (23*25).toString();
var prenom:String = "David ";
var nom:String = "TARDIVEAU";
identite.text = prenom+nom;
identite2.appendText(prenom+nom);
listeFilms.appendText("Lundi\n");
listeFilms.appendText("Mardi\n");
listeFilms.appendText("Mercredi\n");
listeFilms.appendText("Jeudi\n");
var semaine:Array = ["Lundi","Mardi","Mercredi","Jeudi"];
for each(var jour:String in semaine) {
liste2Films.appendText(jour+"\n");
}
Rendre les lignes d'un texte dynamique cliquables : text2.fla
listeFilms.appendText("Lundi\n");
listeFilms.appendText("Mardi\n");
listeFilms.appendText("Mercredi\n");
listeFilms.appendText("Jeudi\n");
listeFilms.addEventListener(MouseEvent.MOUSE_DOWN,lireVideo);
function lireVideo(evt:MouseEvent) {
trace(listeFilms.getLineIndexAtPoint(listeFilms.mouseX,listeFilms.mouseY));
numeroLigneCliquee.text = listeFilms.getLineIndexAtPoint(listeFilms.mouseX,listeFilms.mouseY).toString();
}
Créer un texte dynamiquement sur la scène : text3.fla
var titre:TextField = new TextField()
titre.text = "Cinema Paradiso";
addChild(titre)
Formater un texte sur la scène : text4.fla
var titre:TextField = new TextField();
titre.text = "Cinema Paradiso";
addChild(titre);
titre.x=20;
titre.y=20;
var stylePerso:TextFormat = new TextFormat();
stylePerso.size = 14;
stylePerso.color = 0x3333BB;
titre.setTextFormat(stylePerso);
Assigner une police de caractères à un texte dynamique : text5.fla
var titre:TextField = new TextField();
titre.text = "Cinema Paradiso";
titre.embedFonts = true;
titre.autoSize = TextFieldAutoSize.LEFT
addChild(titre);
titre.x=20;
titre.y=20;
var stylePerso:TextFormat = new TextFormat();
stylePerso.size = 14;
stylePerso.color = 0x3333BB;
// La police ci-dessous a été importée dans la bibliothèque.
// Un nom de liaison lui a été donné (peu importe lequel).
stylePerso.font="Century Gothic";
titre.setTextFormat(stylePerso);
Surveiller la modification d'un texte de saisie et le changement de focus : text6.fla
messageSMS.maxChars = 64;
messageSMS.restrict = "a-z, A-Z, 0-9";
messageSMS.addEventListener(FocusEvent.FOCUS_IN,zoneActivee);
messageSMS.addEventListener(TextEvent.TEXT_INPUT,saisieEnCours);
messageSMS.addEventListener(FocusEvent.FOCUS_OUT,saisieTerminee);
function zoneActivee(evt:FocusEvent) {
if (messageSMS.text=="Saisissez votre texte…") {
messageSMS.text="";
}
}
function saisieEnCours(evt:TextEvent) {
compteCaracteres.text = "Nombre de caractères saisis : "+messageSMS.text.length.toString();
}
function saisieTerminee(evt:FocusEvent) {
compteCaracteres.text=(64-messageSMS.text.length)+" caractères restants.";
}
Manipuler simplement les variables: variable1.fla
var prix = 125;
var quantites = 25;
var resultat = prix*quantites
affichageResultat.text = resultat
//Si vous ne typez pas vos variables (voir variables2.fla),
//le texte dynamique affichageResultat tolère l'affichage de la valeur de la variable resultat
Typer des variables : variable2.fla
var prix:Number = 125;
var quantites:Number = 25;
var resultat:Number = prix*quantites
affichageResultat.text = resultat.toString()
//Vous devez utiliser la méthode toString() pour pouvoir
//convertir le type de la variable resultat.
Déclarer et initialiser des variables en deux temps : variable3.fla
//Déclaration des variables
var prix:Number;
var quantites:Number;
var resultat:Number;
//Initialisation des variables
prix = 125;
quantites = 25;
btResultat.addEventListener(MouseEvent.MOUSE_DOWN,afficherResultat);
function afficherResultat(evt:MouseEvent) {
resultat = prix*quantites;
affichageResultat.text = resultat.toString();
}
//Les variables doivent être DECLAREES en dehors d'un bloc de code défini par des { },
//pour pouvoir être accessibles à partir de n'importe quelle ligne d'instruction du script.
Changer la valeur d'une variable lors d'un clic sur une occurrence : variable4.fla
//Déclaration et initialisation des variables
var vitesseDeplacement:Number = 1;
balle.addEventListener(Event.ENTER_FRAME,deplacerBalle);
function deplacerBalle(evt:Event) {
balle.x = balle.x+vitesseDeplacement;
}
btGauche.addEventListener(MouseEvent.MOUSE_DOWN, changerSensGauche);
btDroit.addEventListener(MouseEvent.MOUSE_DOWN, changerSensDroite);
function changerSensGauche(evt:MouseEvent) {
vitesseDeplacement = -1;
}
function changerSensDroite(evt:MouseEvent) {
vitesseDeplacement = 1;
}
//balle.x = balle.x+vitesseDeplacement
//ou aussi
//balle.x +=vitesseDeplacement
Utiliser deux variables pour gérer le rebond d'une balle contre les bords de la scène : variable5.fla
var vitesseDeplacementX:Number = 3;
var vitesseDeplacementY:Number = 3;
balle.addEventListener(Event.ENTER_FRAME,deplacerBalle);
function deplacerBalle(evt:Event) {
balle.x = balle.x+vitesseDeplacementX
balle.y = balle.y+vitesseDeplacementY
if (balle.x>=582) vitesseDeplacementX = -3
if (balle.x<=18) vitesseDeplacementX = 3
if (balle.y>=316) vitesseDeplacementY = -3
if (balle.y<=18) vitesseDeplacementY = 3
}
//balle.x = balle.x+vitesseDeplacementX
//ou aussi
//balle.x +=vitesseDeplacementX
Paramétrage basique d'une occurrence de type FLVPlayBack : video.fla
ecranVideo.source = "Loop.flv";
ecranVideo.autoPlay = true ;
ecranVideo.skinAutoHide = true;
Sélectionner plusieurs sources vidéos : video0.fla
ecranVideo.source = "Loop.flv";
ecranVideo.autoPlay = true ;
ecranVideo.skinAutoHide = true;
bouton1.addEventListener(MouseEvent.MOUSE_DOWN,allerInstant1);
bouton2.addEventListener(MouseEvent.MOUSE_DOWN,allerInstant2);
function allerInstant1(evt:MouseEvent) {
ecranVideo.source = "Microwave.flv";
}
function allerInstant2(evt:MouseEvent) {
ecranVideo.source = "Makingof.flv";
}
Sélectionner plusieurs sources vidéos (Approche dynamique) : video1.fla
ecranVideo.source = "Loop.flv";
ecranVideo.autoPlay = true ;
bouton1.nomFichier = "Microwave.flv";
bouton2.nomFichier = "Makingof.flv";
bouton3.nomFichier = "Overtime.flv";
bouton1.addEventListener(MouseEvent.MOUSE_DOWN,allerInstant);
bouton2.addEventListener(MouseEvent.MOUSE_DOWN,allerInstant);
bouton3.addEventListener(MouseEvent.MOUSE_DOWN,allerInstant);
function allerInstant(evt:MouseEvent) {
ecranVideo.source = evt.currentTarget.nomFichier;
}
Sélectionner une vidéo à travers une liste dans un texte dynamique : video2.fla
ecranVideo.source = "Loop.flv";
listeFilms.appendText("Loop\n");
listeFilms.appendText("Making Of\n");
listeFilms.appendText("MicroWave\n");
listeFilms.appendText("OverTime");
listeFilms.addEventListener(MouseEvent.MOUSE_DOWN,lireVideo);
function lireVideo(evt:MouseEvent) {
ecranVideo.source = "videos/film"+listeFilms.getLineIndexAtPoint(listeFilms.mouseX,listeFilms.mouseY)+".flv";
}
Sélectionner une vidéo à travers une liste dans un texte dynamique : video3.fla
ecranVideo.source = "Loop.flv";
listeFilms.appendText("Loop\n");
listeFilms.appendText("Making Of\n");
listeFilms.appendText("MicroWave\n");
listeFilms.appendText("OverTime");
var films = ["Loop.flv","Makingof.flv","Microwave.flv","Overtime.flv"];
listeFilms.addEventListener(MouseEvent.MOUSE_DOWN,lireVideo);
function lireVideo(evt:MouseEvent) {
var numeroLigneCliquee = listeFilms.getLineIndexAtPoint(listeFilms.mouseX,listeFilms.mouseY);
ecranVideo.source = films[numeroLigneCliquee];
}
Gérer/détecter la fin de la lecture d'une vidéo : video4.fla
import fl.video.VideoEvent;
clipDeFin.visible = false;
ecranVideo.source = "court.flv";
ecranVideo.addEventListener(VideoEvent.COMPLETE,finVideoAtteinte);
function finVideoAtteinte(evt:VideoEvent) {
clipDeFin.visible = true
}
Faire une pause lors de la détection d'un cuePoint ajouté dynamiquement : video5.fla
import fl.video.MetadataEvent;
ecranVideo.source = "court.flv";
ecranVideo.addASCuePoint(2,"Repère 1");
ecranVideo.addASCuePoint(4,"Repère 2");
ecranVideo.addASCuePoint(7,"Repère 3");
ecranVideo.addEventListener(MetadataEvent.CUE_POINT,repereDetecte);
function repereDetecte(evt:MetadataEvent) {
ecranVideo.pause();
}
Lire le nom d'un cuePoint ajouté dynamiquement : video6.fla
import fl.video.MetadataEvent;
ecranVideo.source = "Microwave.flv";
ecranVideo.addASCuePoint(14,"Ze iro !");
ecranVideo.addASCuePoint(17,"");
ecranVideo.addASCuePoint(25,"Zi ozer iro");
ecranVideo.addASCuePoint(28,"");
ecranVideo.addEventListener(MetadataEvent.CUE_POINT,repereDetecte);
function repereDetecte(evt:MetadataEvent) {
messageInfo.text = evt.info.name;
}
Gérer/détecter la mise en lecture et la pause d'une vidéo : video7.fla
import fl.video.VideoEvent;
ecranVideo.source = "Microwave.flv";
ecranVideo.addEventListener(VideoEvent.PAUSED_STATE_ENTERED,pauseActivee);
ecranVideo.addEventListener(VideoEvent.PLAYING_STATE_ENTERED,lectureActivee);
function pauseActivee(evt:VideoEvent) {
messageInfo.text = "Pause";
}
function lectureActivee(evt:VideoEvent) {
messageInfo.text = "";
}
Exécuter une ligne d'instruction lors de la lecture d'une vidéo : video8.fla
import fl.video.VideoEvent;
ecranVideo.source = "Microwave.flv";
ecranVideo.addEventListener(VideoEvent.PLAYHEAD_UPDATE,lectureEnCours);
function lectureEnCours(evt:VideoEvent) {
messageInfo.text = ecranVideo.playheadTime.toString();
}
Afficher le timeCode (sous la forme 00:00:00) d'une vidéo lors de sa lecture : video9.fla
import fl.video.VideoEvent;
var positionTete:Number = 0;
var heures:*;
var minutes:*;
var secondes:*;
ecranVideo.source = "Microwave.flv";
ecranVideo.addEventListener(VideoEvent.PLAYHEAD_UPDATE,lectureEnCours);
ecranVideo.playheadUpdateInterval = 500;
function lectureEnCours(evt:VideoEvent) {
positionTete = ecranVideo.playheadTime;
heures = Math.floor(positionTete/3600);
minutes = Math.floor(positionTete/60);
secondes = Math.floor(positionTete%60);
heures= heures<=9 ? "0"+heures : heures;
minutes= minutes<=9 ? "0"+minutes : minutes;
secondes= secondes<=9 ? "0"+secondes : secondes;
messageInfo.text = heures+":"+minutes+":"+secondes;
}
Déplacer la position de la tête de lecture d'une vidéo : video10.fla
ecranVideo.source = "Microwave.flv";
bouton1.addEventListener(MouseEvent.MOUSE_DOWN,allerInstant1);
bouton2.addEventListener(MouseEvent.MOUSE_DOWN,allerInstant2);
bouton3.addEventListener(MouseEvent.MOUSE_DOWN,allerInstant3);
function allerInstant1(evt:MouseEvent) {
ecranVideo.seek(5);
}
function allerInstant2(evt:MouseEvent) {
ecranVideo.seek(13);
}
function allerInstant3(evt:MouseEvent) {
ecranVideo.seek(22);
}
Déplacer la position de la tête de lecture d'une vidéo : video11.fla
ecranVideo.source = "Microwave.flv";
bouton1.temps = 5;
bouton2.temps = 13;
bouton3.temps = 22;
bouton1.addEventListener(MouseEvent.MOUSE_DOWN,allerInstant);
bouton2.addEventListener(MouseEvent.MOUSE_DOWN,allerInstant);
bouton3.addEventListener(MouseEvent.MOUSE_DOWN,allerInstant);
function allerInstant(evt:MouseEvent) {
ecranVideo.seek(evt.currentTarget.temps);
}
Gérer les cuePoints dans une vidéo : video12.fla
import fl.video.MetadataEvent;
var sousTitres:Array = ["En place !","Ils se cherchent !","","Voilà !",""];
ecranVideo.source = "court.flv";
ecranVideo.addASCuePoint(2,"0");
ecranVideo.addASCuePoint(4,"1");
ecranVideo.addASCuePoint(6,"2");
ecranVideo.addASCuePoint(8,"3");
ecranVideo.addASCuePoint(9,"4");
ecranVideo.addEventListener(MetadataEvent.CUE_POINT,repereDetecte);
function repereDetecte(evt:MetadataEvent) {
legende.text = sousTitres[evt.info.name];
}
Application : Charger des images et cliquer dessus pour lire une vidéo correspondante : video13.fla
import fl.video.VideoEvent;
ecran.source = "Sequence1.flv";
var chargeur:Loader;
var titresVideos = ["Une grande histoire !!!", "Les enfants du paradis !","Les enfants du marais"];
titreFilm.text = "Une grande histoire !!!";
cadre.visible=false;
for (var film=1; film<=3; film++) {
chargeur = new Loader();
var adresse = new URLRequest("image"+film+".png");
chargeur.load(adresse);
addChild(chargeur);
chargeur.y = (film*82);
chargeur.name = film;
chargeur.addEventListener(MouseEvent.MOUSE_DOWN,afficherVideo);
function afficherVideo(evt:MouseEvent) {
cadre.visible=false;
ecran.source = "Sequence"+evt.currentTarget.name+".flv";
titreFilm.text=titresVideos[evt.currentTarget.name-1];
}
ecran.addEventListener(VideoEvent.COMPLETE,finVideo);
function finVideo(evt:VideoEvent) {
cadre.visible=true;
}
}