Soyez le premier à donner votre avis sur cette source.
Vue 9 506 fois - Téléchargée 1 328 fois
import fl.transitions.*; import fl.transitions.easing.*; import fl.transitions.TransitionManager; import flash.display.MovieClip; import fl.transitions.Tween; import flash.display.Sprite; import flash.display.Loader; import flash.net.URLRequest; import flash.events.Event; import flash.events.MouseEvent; import flash.events.ProgressEvent; var myTMinfo:TransitionManager = new TransitionManager(infodesc); var myTMdroite:TransitionManager = new TransitionManager(adroite); var myTMguache:TransitionManager = new TransitionManager(agauche); var imagearea:MovieClip= new MovieClip(); var ballXTween:Tween; var sp:Sprite=new Sprite() sp.x=(stage.stageWidth/2)-200; sp.y=(stage.stageHeight/2)-170; addChild(sp); sp.addChild(imagearea); var thumbsarea:MovieClip= new MovieClip(); var spth:Sprite=new Sprite(); spth.x = 20; spth.y =stage.stageHeight - 70; addChild(spth); spth.addChild(thumbsarea); var myXML:String="gallery100.xml"; var tablienimage:Array=new Array(); var tablienthumbs:Array=new Array(); var tablientitre:Array=new Array(); var tabliendescription:Array=new Array(); var tabprice:Array=new Array(); var c:Number=0; var nbresimages:Number; //preloader.x=stage.width/2; //preloader.y=stage.height/2; var xspace:Number = 125; var xs:Number = 0; thumbsarea.buttonMode=true; var ds:DropShadowFilter = new DropShadowFilter(); ds.distance = 5; ds.blurX = 10; ds.blurY = 10; ds.alpha = .6; ds.color=0x000000; loadmyxml(); function loadmyxml()//1 { // load xmlfile dans myxmldata et nbre d'images dans a var lxml:URLLoader= new URLLoader(); var rxml:URLRequest = new URLRequest(myXML); lxml.load(rxml); lxml.addEventListener(Event.COMPLETE,lirexml); function lirexml(event:Event):void//1.1 { var myxmldata:XML = new XML(lxml.data); myxmldata.ignoreWhitespace = true; /*var a:Number =myxmldata.store.length(); trace(a); nbresimages = a;*/ // remplir le tableau trace(myxmldata.phone[0].@ref); var nbr:Number =myxmldata.info.nbre; nbresimages=nbr; var i:Number; for( i=0 ;i<nbr;i++) { var ch1:String = myxmldata.phone[i].image; var ch2:String =myxmldata.phone[i].thumb; var letitre:String = myxmldata.phone[i].productName; var desc:String =myxmldata.phone[i].description; var leprix:String =myxmldata.phone[i].price; tablienimage.push(ch1); tablienthumbs.push(ch2); tablientitre.push(letitre); tabliendescription.push(desc); tabprice.push(leprix); } // importer une seule image dans le clip avec son titre et sa discription var nn:Number = Math.round(Math.random()*nbr); trace(tablienimage[nn]); var luneimage:Loader= new Loader(); var runeimage:URLRequest = new URLRequest(tablienimage[nn]); luneimage.load(runeimage); luneimage.contentLoaderInfo.addEventListener(Event.COMPLETE,afficheruneimage);//1.1.2 function afficheruneimage(event:Event):void{ imagearea.addChild(luneimage); luneimage.filters = [ds]; titre.text=tablientitre[nn]; description.text=tabliendescription[nn]; price.text=tabprice[nn]; } loadthumbs(); } } function loadthumbs(){//1 var lthumbs:Loader= new Loader(); var rthumbs:URLRequest = new URLRequest(tablienthumbs[c]); lthumbs.load(rthumbs); lthumbs.contentLoaderInfo.addEventListener(Event.COMPLETE,afficherlesthumbs); function afficherlesthumbs(event:Event):void{//1.1 var thispic:String=tablienimage[c]; var thistitre:String=tablientitre[c]; var thisdescription:String=tabliendescription[c]; var thisprice:String=tabprice[c]; lthumbs.x=(xs*128); xs=xs+1; // fltre drop shadow sur les lthumbs lthumbs.filters = [ds]; lthumbs.addEventListener(MouseEvent.CLICK,voirimage); function voirimage(event:MouseEvent):void{//1.1.1 //vider les champs titre.text=""; description.text=""; imagearea.removeChildAt(0); var llesimages:Loader= new Loader(); var rlesimages:URLRequest = new URLRequest(thispic); llesimages.load(rlesimages); //preloader llesimages.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,preloaderprogress); function preloaderprogress(event:ProgressEvent):void{//1.1.1.1 var progkb:String = Number(event.bytesLoaded/1024).toFixed(1); var tkb:String = Number(event.bytesTotal/1024).toFixed(1); preloader.text="loading"+progkb+" of"+tkb+"please wait"; } // effet sur chaque image du humbs ballXTween= new Tween(lthumbs, "x", Elastic.easeOut, lthumbs.x-10,lthumbs.x, 3, true); // charger l'image llesimages.contentLoaderInfo.addEventListener(Event.COMPLETE,chargerimage); function chargerimage(event:Event):void{ lthumbs.addEventListener(MouseEvent.CLICK,voirimage); preloader.text=""; infodesc.visible=false; imagearea.addChild(llesimages); llesimages.filters = [ds]; var myTM:TransitionManager = new TransitionManager(imagearea); myTM.startTransition({type:Zoom, direction:Transition.IN, duration:1, easing:Strong.easeOut}); titre.text=thistitre; description.text=thisdescription; price.text= thisprice; } }//end1.1.1 thumbsarea.addChild(lthumbs); c=c+1; if(c<nbresimages){ loadthumbs(); } else{ trace("it'sdone"); } }//end 1.1 }//end 1 //adroite.buttonMode = true; //agauche.buttonMode = true; descb.buttonMode = true; infodesc.visible=false; /*var myTMdroite:TransitionManager = new TransitionManager(adroite); var myTMgauche:TransitionManager = new TransitionManager(agauche); */ function droite(event:MouseEvent):void{ thumbsarea.x-=128; myTMdroite.startTransition({type:Fade, duration:1, direction:Transition.OUT}) }adroite.addEventListener(MouseEvent.CLICK,droite); function gauche(event:MouseEvent):void{ thumbsarea.x+=128; myTMguache.startTransition({type:Fade, duration:1, direction:Transition.OUT}) }agauche.addEventListener(MouseEvent.CLICK,gauche); function controle1(event:Event):void{ if(agauche.hitTestObject(thumbsarea)){ // agauche.visible=true; }else{ // agauche.visible=false; thumbsarea.x-=64; } }stage.addEventListener(Event.ENTER_FRAME,controle1); function controle2(event:Event):void{ if(adroite.hitTestObject(thumbsarea)){ // adroite.visible=true; }else{ // adroite.visible=false; thumbsarea.x+=64; } }stage.addEventListener(Event.ENTER_FRAME,controle2); function showmeinfo(event:MouseEvent):void{ infodesc.visible=true; myTMinfo.startTransition({type:Wipe, direction:Transition.IN, duration:1, easing:Strong.easeOut, startPoint:1}); info.text=description.text; }descb.addEventListener(MouseEvent.MOUSE_OVER,showmeinfo); function hidemeinfo(event:MouseEvent):void{ info.text=""; infodesc.visible=false; }descb.addEventListener(MouseEvent.MOUSE_OUT,hidemeinfo);
15 juil. 2011 à 03:51
Autant de fois qu'il faudra dire aux imbéciles qui insultent sans raisons qu'ils feraient mieux de respecter les règles du site avant de venir poster tout aussi inutilement des commentaires bon à jeter à la poubelle.
Peg'
Admin Codes-Sources
4 juil. 2011 à 20:23
1 juil. 2011 à 08:00
30 juin 2011 à 20:54
J'ai jeté un oeil au "poa" et ce n'est qu'un concept de plus. J'ai déjà bien du mal à suivre les autres concepts !!!
30 juin 2011 à 15:13
pour te repondre sur l'imbrication de fonction je me base sur la poa
pour ce qui est des removeeventlistener, c'est indispensable de gérer leur nombres.
Quand un event listener est inutile on le supprime. Sinon ton objet ne sera pas elisible pourle GC. Pour ce qui de ton exemple, je ne gére pas de la meme facon que toi les mouseevent.
Dans ce meme soucis de controle du nombre d'eventlisteners (réduction du nombres de bugs et des besoins en ressources) je n'ai par defaut que le mouseover(pour la gestion souris)
c'est l'action sur le mouse-over qui va liberer les (autres mouse event), à la fin des interactions souris il ne restera que le mouse over.
Voila en quoi l'ecoute du mouse out est tout a fait supprimable.
Je ne doute pas que tu as voulu me taquiner, car si j'ai radicaliser, c'est pour faire simple
'PS: tu vera que je n'ai pas mis de removeeventlistener sur ses mouseevent dans le code
Cordialement
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.