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
| package fr
{
import flash.events.ProgressEvent;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.filters.DropShadowFilter;
import flash.display.MovieClip;
import fl.controls.ProgressBar
import fl.containers.UILoader
import com.greensock.*;
import com.greensock.easing.*;
import flash.net.URLStream;
public class Galerie extends MovieClip
{
private var _xmlData :XML;
private var _UIBigImg :UILoader;
private var _UIThumbs :UILoader;
private var _urlLoader :URLLoader;
private var _req :URLRequest;
private var _fichier :String;
private var _progressBThumbs :ProgressBar;
private var _progressBImg :ProgressBar;
private var _posXImg :Array;
private var _ombre :DropShadowFilter;
private var _currentImg :*
public function Galerie () : void
{
_fichier ="/xml/galerie.xml";
_UIBigImg = new UILoader();
_UIThumbs = new UILoader();
_urlLoader = new URLLoader ();
_req = new URLRequest( _fichier);
_progressBThumbs = new ProgressBar ();
_progressBImg = new ProgressBar ();
_posXImg = new Array(ContImg.x,-ContImg.width);
_ombre = new DropShadowFilter (0,45,0x000000,1,10,10,1.5,3,false,false,false);
_progressBImg.name = "progressBI";
_urlLoader.addEventListener(Event.COMPLETE, chargeCompletXml );
_urlLoader.load (_req);
_progressBImg.source = _UIBigImg;
_progressBImg.move (0,stage.stageHeight/2 + (ContThumbs.height/2 ) );
_progressBImg.width = stage.stageWidth;
_progressBImg.addEventListener ( ProgressEvent.PROGRESS,progression);
_progressBImg.addEventListener ( Event.COMPLETE, finProgression );
this.addChild(_progressBImg );
}
private function chargeCompletXml(e:Event):void
{
_xmlData = new XML(e.target.data);
_progressBThumbs.source = _UIBigImg,
this.addChild( _progressBThumbs );
_progressBThumbs.move (Commentaires.x,Commentaires.y-5);
_progressBThumbs.addEventListener ( ProgressEvent.PROGRESS,progression);
_progressBThumbs.addEventListener ( Event.COMPLETE, finProgression );
_UIBigImg.source = _xmlData.image[1].attribute("big");
Commentaires.text = _xmlData.image[1].attribute("comment");
_currentImg = _UIBigImg.source;
_UIBigImg.scaleContent = false;
for (var i:String in _xmlData.image)
{
_UIThumbs = new UILoader();
_UIThumbs.source = _xmlData.image[i].attribute("thumbs");
_UIThumbs.buttonMode = true;
_UIThumbs.name = i;
_UIThumbs.x = 50;
_UIThumbs.y = 30
_UIThumbs.x = int (i)* 360;
_UIThumbs.width = _UIThumbs.height = 70;
_UIThumbs.scaleContent = true;
_UIThumbs.autoLoad = true;
_UIThumbs.alpha = 05;
_UIThumbs.filters = [_ombre];
ContThumbs.addChild( _UIThumbs );
_UIThumbs.addEventListener(MouseEvent.CLICK, chargImage );
_UIThumbs.addEventListener(MouseEvent.MOUSE_OVER, overThumbs );
_UIThumbs.addEventListener(MouseEvent.MOUSE_OUT, outThumbs );
}
function chargImage (me: MouseEvent) :void
{
if(_currentImg === _xmlData.image[me.currentTarget.name].attribute( 'big' )){return;}
_currentImg = _xmlData.image [me.currentTarget.name].attribute( 'big' );
Commentaires.text = _xmlData.image [me.currentTarget.name].attribute( 'comment' )
TweenMax.to(ContImg, .8, {x:_posXImg[1], rotationY:180, ease : Back.easeIn, onComplete: changImage})
}
function changImage() :void{_UIBigImg.source = _currentImg;}
}
private function progression (pe:ProgressEvent) :void
{
chargement.text = 'Bytes= '+Math.round (pe.bytesLoaded) + ' / ' + Math.round(pe.bytesTotal) +
'\npct = '+ Math.round (pe.bytesLoaded / pe.bytesTotal * 100) + '%';
}
private function finProgression (e:Event) :void
{
if (e.target.name === 'progressBI')
{
_progressBImg.removeEventListener(ProgressEvent.PROGRESS,progression);
_progressBImg.removeEventListener( Event.COMPLETE, finProgression );
removeChild(_progressBImg);
}
TweenMax.to(ContImg, .8, {x:_posXImg[0], rotationY:0, ease:Back.easeOut});
ContImg.addChild( _UIBigImg) ;
chargement.text='';
}
private function overThumbs (me:MouseEvent) :void
{
TweenMax.to(me.currentTarget,.5,{alpha:1,y:25});
}
private function outThumbs (me:MouseEvent) : void
{
TweenMax.to(me.currentTarget,.5,{alpha:.5,y:30});
}
}
} |
Partager