1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
|
package classes{
import flash.display.*;
import flash.display.MovieClip;
import flash.display.Stage;
import flash.display.Scene;
import flash.display.MovieClip;
import flash.display.SimpleButton;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import flash.filters.GlowFilter;
import flash.events.MouseEvent;
import flash.events.ProgressEvent;
import flash.events.IOErrorEvent;
import flash.events.TimerEvent;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
import caurina.transitions.*;
import flash.utils.Timer;
import flash.xml.*;
public class diapoAvant extends MovieClip {
public static var diapoAvant_mc:MovieClip = new MovieClip();
public static var box2:MovieClip = new MovieClip();
public static var bkground:MovieClip = new MovieClip();
public static var boximg:MovieClip = new MovieClip();
public static var chargementXML:URLLoader = new URLLoader();
public static var fichier:URLRequest=new URLRequest("ressources/gallerieXml.xml");
function diapoAvant()
{
chargementXML.addEventListener( Event.COMPLETE, chargementComplet );
chargementXML.load( fichier );
diapoAvant_mc.addChild(box2);
diapoAvant_mc.addChild(bkground);
bkground.addChild(boximg);
function chargementComplet(e:Event):void {
// VARIABLE DE DEPART
box2.alpha=0;
bkground.alpha=0;
var i:int=0;
var myTimer:Timer;
var tabimg:Array=new Array();
//LECTURE DU XML
var programme:XML=new XML(e.target.data);//la classe XML est une classe native de Flash, on la trouve dans le package Top Level.
var artiste:XMLList=programme.elements();//le document XML est constitué d'une liste d'éléments XML, en l'occurence ici, une liste de personnes
//tableau d'URLs
trace("LE TABLEAU D IMAGE");
trace("-------------------");
for each(var prop:XML in artiste)//pour chaque noeud enfant dans la liste des artistes
{
tabimg.push(prop.image);
}
var lengthTabimg:int=tabimg.length;
trace("-------------------");
//Lancement de la fonction time qui va faire boucler le diaporama en fonction du temps
time();
function time() {
// création du chargeur
var chargeur:Loader = new Loader();
var chargeur2:Loader = new Loader();
// url à atteindre
var maRequete:URLRequest = new URLRequest (tabimg[i]);
// chargement du contenu
chargeur.load (maRequete);
chargeur2.load(maRequete);
// ajout à la liste d'affichage
box2.addChild (chargeur);
bkground.addChild (chargeur2);
/*box2.source=tabimg[i];
bkground.source=tabimg[i];*/
myTimer=new Timer(300,1);
myTimer.start();
myTimer.addEventListener(TimerEvent.TIMER_COMPLETE, timerHandler2);
function timerHandler2(e:Event):void {
if (box2.height!=280) {
var rapport:Number=(280/box2.height);
trace("box2.height="+box2.height);
} else {
rapport=1;
}
var largeur:Number=(box2.width*rapport);
var hauteur:Number=(box2.height*rapport);
trace(largeur);
Tweener.addTween(bkground, {width:largeur, height:hauteur,
transition:"easeOutRegular", time:0.5,
onComplete:endRecadrage});
function endRecadrage():void
{
trace("transition complétée");
Tweener.addTween(bkground, {alpha:1, time:0.5, onComplete:EndFadeOut});
function EndFadeOut():void
{
trace("avant timer = "+i);
myTimer=new Timer(200,1);
myTimer.start();
myTimer.addEventListener(TimerEvent.TIMER_COMPLETE, timerHandler);
function timerHandler(e:TimerEvent):void
{ trace("timer fini, i = "+i);
Tweener.addTween(bkground, {alpha:0, time:0.5, onComplete:EndFadeIn});
function EndFadeIn():void
{
trace("tweener fini, i = "+i);
i++;
if (i==lengthTabimg)
{
i=0;
}
time();
}
}
}
}
}
}
}
}
}
} |
Partager