Code :
- var cpt /*Number*/ ; // compteur de la gallery
- var pictures /*Array*/ ; // tableau contenant les images
- // variables loader
- var barW:Number = 500;
- var barH:Number = 5;
- // champ de texte dynamique pour le test
- this.createTextField("field", 1, 10, 10, 180, 200) ;
- field.border = false ;
- field.setNewTextFormat(new TextFormat("arial", 12)) ;
- field.borderColor = 0xFFFFFF ;
- field.selectable = false ;
- field.multiline = true ;
- field.wordWrap = true ;
- field.html = true ;
- // clip vide pour charger dedans l'image
- var conteneur_mc:MovieClip = this.createEmptyMovieClip("conteneur_mc", this.getNextHighestDepth());
- conteneur_mc._x = 150;
- conteneur_mc._y = 20;
- var loader_mc:MovieClip = conteneur_mc.createEmptyMovieClip("loader_mc",getNextHighestDepth());
- //creation de loader
- function draw(w, h):Void {
- conteneur_mc.moveTo(0, 0);
- conteneur_mc.beginFill(0x000000, 200);
- conteneur_mc.lineTo(w, 0);
- conteneur_mc.lineTo(w, h);
- conteneur_mc.lineTo(0, h);
- conteneur_mc.lineTo(0, 0);
- conteneur_mc.endFill();
- }
- //chargement des images
- var my_MovieclipLoader:MovieClipLoader = new MovieClipLoader();
- var my_listener:Object = new Object();
- my_listener.onLoadProgress = function(mc, loadedBytes, totalBytes) {
- percentage.text = Math.round(loadedBytes/totalBytes*100);
- barW = Math.floor(loadedBytes / totalBytes * 500);
- draw(barW, barH);
- };
- my_listener.onLoadInit = function() {
- conteneur_mc.clear();
- //transition
- import mx.transitions.*;
- import mx.transitions.easing.* ;
- import com.lalex.visual.XColor;
- var my_color:XColor = new XColor(conteneur_mc);
- var myTransition:Tween = new Tween(my_color, "_brightOffset", Regular.easeInOut, 255, 0, .5, true);
- myTransition.onMotionFinished = function () {
- trace ("fin du Tween" );
- }
- };
- //..
- my_MovieclipLoader.addListener(my_listener);
- // fonctions pour gérer la gallery
- var getBigAt = function ( id /*Number*/ ) /*String*/ {
- return pictures[id].fichier ;
- }
- //creation champ texte
- var getTextAt = function( id /*Number*/ ) /*String*/ {
- var pic = pictures[id] ;
- var txt = "<b>Webdesign :</b> " + pic.num + " sur " + pictures.length + "<br />" ;
- txt += "<b>Année : </b>" + pic.date + "<br />" ;
- txt += "<b>Desc : </b>" + pic.desc +"<br />";
- return txt ;
- }
- var showPictureAt = function( id /*Number*/ ) {
- my_MovieclipLoader.loadClip(pictures[id].fichier, loader_mc) ;
- field.htmlText = getTextAt(id) ;
- }
- var next = function () {
- cpt++ ;
- if (cpt == pictures.length) cpt = 0 ;
- showPictureAt(cpt) ;
- }
- var prev = function () {
- cpt-- ;
- if (cpt == -1) cpt = pictures.length - 1 ;
- showPictureAt(cpt) ;
- }
- // action sur les boutons
- nextButton.onRelease = next ;
- prevButton.onRelease = prev ;
- conteneur_mc.onRelease = function() {
- var url /*String*/ = getBigAt(cpt) ;
- getURL( url , "_blank" );
- }
- // chargement du xml
- var x = new XML();
- x.ignoreWhite = true;
- x.onLoad = function(success) {
- //initialisation des variables
- pictures = [] ;
- cpt = 0 ;
- if (success && this.status == 0) {
- var node = this.firstChild.childNodes;
- var len = node.length;
- for (var i = 0 ; i<len ; i++) {
- var current = node[i] ;
- var item = {}
- for (var prop:String in current.attributes) {
- item[prop] = current.attributes[prop] ;
- }
- pictures.push(item) ;
- }
- }
- showPictureAt(cpt) ;
- }
- x.load("data/fichier.xml" ) ;
|