yasdar
Messages postés121Date d'inscriptionmercredi 12 janvier 2011StatutMembreDernière intervention19 mai 2012
-
28 juin 2011 à 20:35
pegase31
Messages postés6138Date d'inscriptiondimanche 21 décembre 2003StatutModérateurDernière intervention 4 septembre 2013
-
15 juil. 2011 à 03:51
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
pegase31
Messages postés6138Date d'inscriptiondimanche 21 décembre 2003StatutModérateurDernière intervention 4 septembre 201312 15 juil. 2011 à 03:51
"Combien de fois faudrait-il dire à ces abrutis qu'il ne faut pas mettre en ligne des bouts de code, tout juste bon à jeter à la poubelle ?"
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
vendom
Messages postés1Date d'inscriptionvendredi 4 janvier 2008StatutMembreDernière intervention 4 juillet 2011 4 juil. 2011 à 20:23
il y a régulièrement des gens qui publient des scripts foireux et merdiques !!! Ces gens là n'ont pas compris quelques principes de base de la programmation (ex: rigueur, optimisation, plusieurs tests ...) . Combien de fois faudrait-il dire à ces abrutis qu'il ne faut pas mettre en ligne des bouts de code, tout juste bon à jeter à la poubelle ?
top30
Messages postés1158Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention 6 août 2010 1 juil. 2011 à 08:00
Moi je veux bien t'aider, mais t'est pas obliger de l'enregister en CS5 pour des fonctionnalité qui dépasse pas le CS3. Y a encore des gens en Flash CS3 !!!
top30
Messages postés1158Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention 6 août 2010 30 juin 2011 à 20:54
oui je fais aussi beaucoup ceci, créer l'écoute du mouseOut lors du mouseOver. Ce qui semble le plus logique. Et qund je dis suprimable je veux dire que l'écoute est cancelable car tu peux suppremir l¡écoute de la fonction passée. Or dans mon exemple une fois la fonction invoqué les écoutees créé ne sont plus "suprimable"...
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 !!!
aerolyte
Messages postés465Date d'inscriptionmardi 17 avril 2007StatutMembreDernière intervention 4 mai 20131 30 juin 2011 à 15:13
Bonjour top 30
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
yasdar
Messages postés121Date d'inscriptionmercredi 12 janvier 2011StatutMembreDernière intervention19 mai 2012 30 juin 2011 à 14:23
aerolyte essaye de m'expliquer et c'est top30 qui répond, attendez normalement ce site c'est pour aidez les autres"newbees" comme moi.
top30 je sais t le rois du actionscript, mais aussi le rois des insultes, aide moi à savoir mes fautes et à résoudre mes problèmes, enfin je suis la pour ça.
Merci aerolyte je vais essayer de comprendre ton script
top30 merci, mais si tu m'explique par un exemples les étapes:
1/ Charger le xml
2/ Créer un clip pour chaque noeud "phone" du XML
3/ Attribuer au clip son noeud lui correspondant
3/ Au click sur le clip, afficher les données du noeud
Pas de tableaux de prix, de chemin, etc... VU QUE TOUT EST DEJA DANS LE XML !!!!
top30
Messages postés1158Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention 6 août 2010 30 juin 2011 à 12:53
C'est sympa ton aide Aerolyte, mais dans tes commentaires tu dis 2 "bétises":
1/ Il est formellement interdit d'emboiter une fonction dans une autre...
Interdit par qui par quoi ? Si je suis le roi de l'imbrication de fonction dans une autre.
De plus quelque part, les classes sont des fonctions dans des fonctions. L'imbrication de fonction A DES AVANTAGES, certes c'est pas récupérable mais justement...
2/ //le removeEventlistener tu connais pas??????
La suppression de listener n'est absolument pas obligatoire ! Loin de là ! Si est sûr que ton écoute ne contient aucune référence extérieure à son contexte, tu n'est pas obliger de la supprimer.
Tiens je vais te donner un exemple des deux d'un coup !
Ainsi l'écoute des fonctions onMouseOver et onMouseMove n'est pas supprimable. Et qund le clip parent du code et parent du button sera supprimé, aucun problème...
Et à mon humble avis Yasdar est trés trés newbees pour comprendre quoique ce soit à ton aide.
C'est si simple:
1/ Charger le xml
2/ Créer un clip pour chaque noeud "phone" du XML
3/ Attribuer au clip son noeud lui correspondant
3/ Au click sur le clip, afficher les données du noeud
Pas de tableaux de prix, de chemin, etc... VU QUE TOUT EST DEJA DANS LE XML !!!!
A plus !
aerolyte
Messages postés465Date d'inscriptionmardi 17 avril 2007StatutMembreDernière intervention 4 mai 20131 30 juin 2011 à 01:23
Re
honnetement ta source est un exemple des nombreuses mauvaise pratiques a proscrire.
Voici une légère correction et il reste beaucoup de travail dessus, je t'invite a bien out regarder, i se peut que mes corrections entraine d'autre messages d'alertes, preuves que ton code est très mal construit.
var myxmldata:XML;//faut le sortir de la fonction mon coco
var ballXTween:Tween;
var myTMinfo:TransitionManager=new TransitionManager(infodesc);
var myTMdroite:TransitionManager=new TransitionManager(adroite);
var myTMguache:TransitionManager=new TransitionManager(agauche);
var myXML:String="gallery100.xml";
//j'ai pas touché a tes listes de tableau, mais sans me tromper je pense que tout cette partie est très mal gérée
//tu dois pouvoir inserer toutes les infos dans un array bidimensionnel
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;
var xspace:Number=125;
var xs:Number=0;
var progkb:String;//faut le sortir de la fonction mon coco
var tkb:String;//faut le sortir de la fonction mon coco
var imagearea:MovieClip=new MovieClip();
var sp:Sprite=new Sprite();
sp.x=(stage.stageWidth/2)-200;
sp.y=(stage.stageHeight/2)-170;
var thumbsarea:MovieClip=new MovieClip();
thumbsarea.buttonMode=true;
var spth:Sprite=new Sprite();
spth.x=20;
spth.y=stage.stageHeight-70;
//un enterframe est a utiliser le moins possible, fuite de memoire assurée
//alors la 2 c'est pas envisageable du tout surtout sans interrupteur
stage.addEventListener(Event.ENTER_FRAME,controle1);
stage.addEventListener(Event.ENTER_FRAME,controle2);
loadmyxml();
function loadmyxml():void{
var lxml:URLLoader=new URLLoader();
var rxml:URLRequest=new URLRequest(myXML);
lxml.addEventListener(Event.COMPLETE,lirexml);//listener doit etre avnt le load
lxml.load(rxml);
}
//il est formellement interdit d'emboiter une fonction dans une autre, je sais meme pas comment tu as réussi a faire marcher a moitié ce code
function lirexml(event:Event):void{
//le removeEventlistener tu connais pas??????
lxml.removeEventListener(Event.COMPLETE,lirexml);
myxmldata=new XML(lxml.data);
myxmldata.ignoreWhitespace=true;
var nbr:Number=myxmldata.info.nbre;
nbresimages=nbr;
//pourquoi instancier des nouvelle variable dans ta boucle, il suffit juste d'attribuer de nouvelles valeurs a chaque rang
var i:int,ch1:String,ch2:String,letitre:String,desc:String,leprix:String;
for(i=0;i<nbr;i++){
ch1=myxmldata.phone[i].image;
ch2=myxmldata.phone[i].thumb;
letitre=myxmldata.phone[i].productName;
desc=myxmldata.phone[i].description;
leprix=myxmldata.phone[i].price;
//idem gestion des tableaux très mauvaise
tablienimage.push(ch1);
tablienthumbs.push(ch2);
tablientitre.push(letitre);
tabliendescription.push(desc);
tabprice.push(leprix);
}
var nn:Number=Math.round(Math.random()*nbr);
var luneimage:Loader=new Loader();
var runeimage:URLRequest=new URLRequest(tablienimage[nn]);
luneimage.contentLoaderInfo.addEventListener(Event.COMPLETE,afficheruneimage);//listener doit etre avnt le load
luneimage.load(runeimage);
loadthumbs();
}
//fautque tu reverifes ta gestion des chargement, pas sur que tu sois le plus performant.
function afficheruneimage(event:Event):void{
//le removeEventlistener tu connais pas??????
event.target.addEventListener(Event.COMPLETE,afficheruneimage);
//idem gestion des tableaux très mauvaise
imagearea.addChild(luneimage);
luneimage.filters=[ds];
titre.text=tablientitre[nn];
description.text=tabliendescription[nn];
price.text=tabprice[nn];
}
// faut pas oublier le "void"
function loadthumbs():void{
var lthumbs:Loader=new Loader();
var rthumbs:URLRequest=new URLRequest(tablienthumbs[c]);
lthumbs.contentLoaderInfo.addEventListener(Event.COMPLETE,afficherlesthumbs);//listener doit etre avnt le load
lthumbs.load(rthumbs);
}
function afficherlesthumbs(event:Event):void{
//le removeEventlistener tu connais pas??????
event.target.addEventListener(Event.COMPLETE,afficherlesthumbs);
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;
lthumbs.filters=[ds];
lthumbs.addEventListener(MouseEvent.CLICK,voirimage);
thumbsarea.addChild(lthumbs);
c++;// c'est un petit truc en kdo
if(c<nbresimages){loadthumbs();}else{trace("it'sdone");}
}
function voirimage(event:MouseEvent):void{
titre.text=description.text="";
imagearea.removeChildAt(0);
var llesimages:Loader=new Loader();
var rlesimages:URLRequest=new URLRequest(thispic);
llesimages.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,preloaderprogress);//listener doit etre avnt le load
llesimages.contentLoaderInfo.addEventListener(Event.COMPLETE,chargerimage);//listener doit etre avnt le load
llesimages.load(rlesimages);
//alors la mon coco va falloir faire mieux car ca ne peut que planter
ballXTween=new Tween(lthumbs,"x",Elastic.easeOut,lthumbs.x-10,lthumbs.x,3,true);
}
function preloaderprogress(event:ProgressEvent):void{
progkb=Number(event.bytesLoaded/1024).toFixed(1);
tkb=Number(event.bytesTotal/1024).toFixed(1);
preloader.text="loading"+progkb+" of"+tkb+"please wait";
}
function chargerimage(event:Event):void{
//idem pour le remove
event.target.removeEventListener(ProgressEvent.PROGRESS,preloaderprogress);
event.target.removeEventListener(Event.COMPLETE,chargerimage);
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;
}
//meme commentaire que pour ton audioplayer, consulte mon poste
function droite(event:MouseEvent):void{
thumbsarea.x-=128;
myTMdroite.startTransition({type:Fade, duration:1, direction:Transition.OUT})
}
function gauche(event:MouseEvent):void{
thumbsarea.x+=128;
myTMguache.startTransition({type:Fade, duration:1, direction:Transition.OUT})
}
function controle1(event:Event):void{
//je comprend pas ton chmilblik la
if(agauche.hitTestObject(thumbsarea)){
//agauche.visible=true;
}else{
//agauche.visible=false;
thumbsarea.x-=64;
}
}
function controle2(event:Event):void{
if(adroite.hitTestObject(thumbsarea)){
//adroite.visible=true;
}else{
//adroite.visible=false;
thumbsarea.x+=64;
}
}
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;
}
function hidemeinfo(event:MouseEvent):void{
info.text="";
infodesc.visible=false;
}
yasdar
Messages postés121Date d'inscriptionmercredi 12 janvier 2011StatutMembreDernière intervention19 mai 2012 30 juin 2011 à 00:01
j'ai changé le fichier xml pourquoi enligne ca marche pas ?
yasdar
Messages postés121Date d'inscriptionmercredi 12 janvier 2011StatutMembreDernière intervention19 mai 2012 29 juin 2011 à 20:32
pourquoi ça ne marcher pas, essayer de télécharger le ZIP ça marche très bien.
aucun problème avec le fichier XML (en local )
je vais changer le fichier xml ( selon top30 )
peut être que c'est ça le problème ( non fonctionnement enligne)
top30
Messages postés1158Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention 6 août 2010 29 juin 2011 à 18:40
Utilise pas de "tween" si tu ne sais pas.
Moi qund je test le téléphone est chaque fois plus petit !
top30
Messages postés1158Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention 6 août 2010 29 juin 2011 à 18:39
Pardon,
Plus claire comme ceci:
<store>
monChemin/monImage.png <thumb type= "bitmap">monChemin/monImageThumb.png</thumb>
Le nom du téléphone
<description language="fr">Le texte que tu n'utilises même pas dans ta source</description>
<manufacturer>Black Berry</manufacturer>
140
monChemin/monImage.png
<thumb type ="bitmap">monChemin/monImageThumb.png</thumb>
Le nom du téléphone
<description language="fr">Le texte que tu n'utilises même pas dans ta source</description>
<manufacturer>Sony Erikson</manufacturer>
723
</store>
top30
Messages postés1158Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention 6 août 2010 29 juin 2011 à 18:37
En premier l'XML:
Voici au minimun à quoi il devrait ressembler au nineau de la structure:
<store>
monChemin/monImage.png <thumb type= "bitmap">monChemin/monImageThumb.png</thumb>
Le nom du téléphone
<description language="fr">Le texte que tu n'utilises même pas dans ta source</description>
<manufacturer>Black Berry</manufacturer>
140
monChemin/monImage.png
<thumb type ="bitmap">monChemin/monImageThumb.png</thumb>
Le nom du téléphone
<description language="fr">Le texte que tu n'utilises même pas dans ta source</description>
<manufacturer>Sony Erikson</manufacturer>
723
etc...
</store>
top30
Messages postés1158Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention 6 août 2010 29 juin 2011 à 18:29
SUPER !Tu nous as chier une merde...
Ca marche même pas.
aerolyte
Messages postés465Date d'inscriptionmardi 17 avril 2007StatutMembreDernière intervention 4 mai 20131 29 juin 2011 à 12:48
utilise un URLLoader et pas un Loader
yasdar
Messages postés121Date d'inscriptionmercredi 12 janvier 2011StatutMembreDernière intervention19 mai 2012 29 juin 2011 à 11:58
avec internet explorer : SecurityError: Error #2000: No active security context. c'est quoi ?
yasdar
Messages postés121Date d'inscriptionmercredi 12 janvier 2011StatutMembreDernière intervention19 mai 2012 29 juin 2011 à 11:23
non ça ne marche toujours pas peut être que c'est un problème de publish setting du programme flash cs5.
aerolyte
Messages postés465Date d'inscriptionmardi 17 avril 2007StatutMembreDernière intervention 4 mai 20131 28 juin 2011 à 22:55
Bonjour,
même remarques que pour ta source précédente.
concernant ton pb, vérifie le CHMOD
Cordialement
yasdar
Messages postés121Date d'inscriptionmercredi 12 janvier 2011StatutMembreDernière intervention19 mai 2012 28 juin 2011 à 20:35
une fois sur le net les petites images en dissous disparaissent - pourquoi ?
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
30 juin 2011 à 14:23
top30 je sais t le rois du actionscript, mais aussi le rois des insultes, aide moi à savoir mes fautes et à résoudre mes problèmes, enfin je suis la pour ça.
Merci aerolyte je vais essayer de comprendre ton script
top30 merci, mais si tu m'explique par un exemples les étapes:
1/ Charger le xml
2/ Créer un clip pour chaque noeud "phone" du XML
3/ Attribuer au clip son noeud lui correspondant
3/ Au click sur le clip, afficher les données du noeud
Pas de tableaux de prix, de chemin, etc... VU QUE TOUT EST DEJA DANS LE XML !!!!
30 juin 2011 à 12:53
1/ Il est formellement interdit d'emboiter une fonction dans une autre...
Interdit par qui par quoi ? Si je suis le roi de l'imbrication de fonction dans une autre.
De plus quelque part, les classes sont des fonctions dans des fonctions. L'imbrication de fonction A DES AVANTAGES, certes c'est pas récupérable mais justement...
2/ //le removeEventlistener tu connais pas??????
La suppression de listener n'est absolument pas obligatoire ! Loin de là ! Si est sûr que ton écoute ne contient aucune référence extérieure à son contexte, tu n'est pas obliger de la supprimer.
Tiens je vais te donner un exemple des deux d'un coup !
setDescriptionButton( 0x990000, 0xFF0000 );
//
function setDesciptionButton( $normalColor:uint, $overColor:uint ):void{
function onMouseOver( $e:Event ):void{
titleTextField.textColor= $overColor ;
descTextField.visible= true ;
}
function onMouseOut( $e:Event ):void{
titleTextField.textColor= $normalColor ;
descTextField.visible= false;
}
descButton.addEventListener( MouseEvent.MOUSE_OVER, onMouseOver );
descButton.addEventListener( MouseEvent.MOUSE_OUT, onMouseOut );
}
Ainsi l'écoute des fonctions onMouseOver et onMouseMove n'est pas supprimable. Et qund le clip parent du code et parent du button sera supprimé, aucun problème...
Et à mon humble avis Yasdar est trés trés newbees pour comprendre quoique ce soit à ton aide.
C'est si simple:
1/ Charger le xml
2/ Créer un clip pour chaque noeud "phone" du XML
3/ Attribuer au clip son noeud lui correspondant
3/ Au click sur le clip, afficher les données du noeud
Pas de tableaux de prix, de chemin, etc... VU QUE TOUT EST DEJA DANS LE XML !!!!
A plus !
30 juin 2011 à 01:23
honnetement ta source est un exemple des nombreuses mauvaise pratiques a proscrire.
Voici une légère correction et il reste beaucoup de travail dessus, je t'invite a bien out regarder, i se peut que mes corrections entraine d'autre messages d'alertes, preuves que ton code est très mal construit.
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 myxmldata:XML;//faut le sortir de la fonction mon coco
var ballXTween:Tween;
var myTMinfo:TransitionManager=new TransitionManager(infodesc);
var myTMdroite:TransitionManager=new TransitionManager(adroite);
var myTMguache:TransitionManager=new TransitionManager(agauche);
var myXML:String="gallery100.xml";
//j'ai pas touché a tes listes de tableau, mais sans me tromper je pense que tout cette partie est très mal gérée
//tu dois pouvoir inserer toutes les infos dans un array bidimensionnel
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;
var xspace:Number=125;
var xs:Number=0;
var progkb:String;//faut le sortir de la fonction mon coco
var tkb:String;//faut le sortir de la fonction mon coco
var imagearea:MovieClip=new MovieClip();
var sp:Sprite=new Sprite();
sp.x=(stage.stageWidth/2)-200;
sp.y=(stage.stageHeight/2)-170;
var thumbsarea:MovieClip=new MovieClip();
thumbsarea.buttonMode=true;
var spth:Sprite=new Sprite();
spth.x=20;
spth.y=stage.stageHeight-70;
sp.addChild(imagearea);
addChild(sp);
spth.addChild(thumbsarea);
addChild(spth);
var ds:DropShadowFilter=new DropShadowFilter();
ds.distance=5;
ds.blurX=10;
ds.blurY=10;
ds.alpha=.6;
ds.color=0x000000;
descb.buttonMode=true;
descb.addEventListener(MouseEvent.MOUSE_OVER,showmeinfo);
descb.addEventListener(MouseEvent.MOUSE_OUT,hidemeinfo);
infodesc.visible=false;
adroite.addEventListener(MouseEvent.CLICK,droite);
agauche.addEventListener(MouseEvent.CLICK,gauche);
//un enterframe est a utiliser le moins possible, fuite de memoire assurée
//alors la 2 c'est pas envisageable du tout surtout sans interrupteur
stage.addEventListener(Event.ENTER_FRAME,controle1);
stage.addEventListener(Event.ENTER_FRAME,controle2);
loadmyxml();
function loadmyxml():void{
var lxml:URLLoader=new URLLoader();
var rxml:URLRequest=new URLRequest(myXML);
lxml.addEventListener(Event.COMPLETE,lirexml);//listener doit etre avnt le load
lxml.load(rxml);
}
//il est formellement interdit d'emboiter une fonction dans une autre, je sais meme pas comment tu as réussi a faire marcher a moitié ce code
function lirexml(event:Event):void{
//le removeEventlistener tu connais pas??????
lxml.removeEventListener(Event.COMPLETE,lirexml);
myxmldata=new XML(lxml.data);
myxmldata.ignoreWhitespace=true;
var nbr:Number=myxmldata.info.nbre;
nbresimages=nbr;
//pourquoi instancier des nouvelle variable dans ta boucle, il suffit juste d'attribuer de nouvelles valeurs a chaque rang
var i:int,ch1:String,ch2:String,letitre:String,desc:String,leprix:String;
for(i=0;i<nbr;i++){
ch1=myxmldata.phone[i].image;
ch2=myxmldata.phone[i].thumb;
letitre=myxmldata.phone[i].productName;
desc=myxmldata.phone[i].description;
leprix=myxmldata.phone[i].price;
//idem gestion des tableaux très mauvaise
tablienimage.push(ch1);
tablienthumbs.push(ch2);
tablientitre.push(letitre);
tabliendescription.push(desc);
tabprice.push(leprix);
}
var nn:Number=Math.round(Math.random()*nbr);
var luneimage:Loader=new Loader();
var runeimage:URLRequest=new URLRequest(tablienimage[nn]);
luneimage.contentLoaderInfo.addEventListener(Event.COMPLETE,afficheruneimage);//listener doit etre avnt le load
luneimage.load(runeimage);
loadthumbs();
}
//fautque tu reverifes ta gestion des chargement, pas sur que tu sois le plus performant.
function afficheruneimage(event:Event):void{
//le removeEventlistener tu connais pas??????
event.target.addEventListener(Event.COMPLETE,afficheruneimage);
//idem gestion des tableaux très mauvaise
imagearea.addChild(luneimage);
luneimage.filters=[ds];
titre.text=tablientitre[nn];
description.text=tabliendescription[nn];
price.text=tabprice[nn];
}
// faut pas oublier le "void"
function loadthumbs():void{
var lthumbs:Loader=new Loader();
var rthumbs:URLRequest=new URLRequest(tablienthumbs[c]);
lthumbs.contentLoaderInfo.addEventListener(Event.COMPLETE,afficherlesthumbs);//listener doit etre avnt le load
lthumbs.load(rthumbs);
}
function afficherlesthumbs(event:Event):void{
//le removeEventlistener tu connais pas??????
event.target.addEventListener(Event.COMPLETE,afficherlesthumbs);
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;
lthumbs.filters=[ds];
lthumbs.addEventListener(MouseEvent.CLICK,voirimage);
thumbsarea.addChild(lthumbs);
c++;// c'est un petit truc en kdo
if(c<nbresimages){loadthumbs();}else{trace("it'sdone");}
}
function voirimage(event:MouseEvent):void{
titre.text=description.text="";
imagearea.removeChildAt(0);
var llesimages:Loader=new Loader();
var rlesimages:URLRequest=new URLRequest(thispic);
llesimages.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,preloaderprogress);//listener doit etre avnt le load
llesimages.contentLoaderInfo.addEventListener(Event.COMPLETE,chargerimage);//listener doit etre avnt le load
llesimages.load(rlesimages);
//alors la mon coco va falloir faire mieux car ca ne peut que planter
ballXTween=new Tween(lthumbs,"x",Elastic.easeOut,lthumbs.x-10,lthumbs.x,3,true);
}
function preloaderprogress(event:ProgressEvent):void{
progkb=Number(event.bytesLoaded/1024).toFixed(1);
tkb=Number(event.bytesTotal/1024).toFixed(1);
preloader.text="loading"+progkb+" of"+tkb+"please wait";
}
function chargerimage(event:Event):void{
//idem pour le remove
event.target.removeEventListener(ProgressEvent.PROGRESS,preloaderprogress);
event.target.removeEventListener(Event.COMPLETE,chargerimage);
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;
}
//meme commentaire que pour ton audioplayer, consulte mon poste
function droite(event:MouseEvent):void{
thumbsarea.x-=128;
myTMdroite.startTransition({type:Fade, duration:1, direction:Transition.OUT})
}
function gauche(event:MouseEvent):void{
thumbsarea.x+=128;
myTMguache.startTransition({type:Fade, duration:1, direction:Transition.OUT})
}
function controle1(event:Event):void{
//je comprend pas ton chmilblik la
if(agauche.hitTestObject(thumbsarea)){
//agauche.visible=true;
}else{
//agauche.visible=false;
thumbsarea.x-=64;
}
}
function controle2(event:Event):void{
if(adroite.hitTestObject(thumbsarea)){
//adroite.visible=true;
}else{
//adroite.visible=false;
thumbsarea.x+=64;
}
}
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;
}
function hidemeinfo(event:MouseEvent):void{
info.text="";
infodesc.visible=false;
}
30 juin 2011 à 00:01
29 juin 2011 à 20:32
aucun problème avec le fichier XML (en local )
je vais changer le fichier xml ( selon top30 )
peut être que c'est ça le problème ( non fonctionnement enligne)
29 juin 2011 à 18:40
Moi qund je test le téléphone est chaque fois plus petit !
29 juin 2011 à 18:39
Plus claire comme ceci:
<store>
monChemin/monImage.png
<thumb type= "bitmap">monChemin/monImageThumb.png</thumb>
Le nom du téléphone
<description language="fr">Le texte que tu n'utilises même pas dans ta source</description>
<manufacturer>Black Berry</manufacturer>
140
monChemin/monImage.png
<thumb type ="bitmap">monChemin/monImageThumb.png</thumb>
Le nom du téléphone
<description language="fr">Le texte que tu n'utilises même pas dans ta source</description>
<manufacturer>Sony Erikson</manufacturer>
723
</store>
29 juin 2011 à 18:37
Voici au minimun à quoi il devrait ressembler au nineau de la structure:
<store>
monChemin/monImage.png
<thumb type= "bitmap">monChemin/monImageThumb.png</thumb>
Le nom du téléphone
<description language="fr">Le texte que tu n'utilises même pas dans ta source</description>
<manufacturer>Black Berry</manufacturer>
140
monChemin/monImage.png
<thumb type ="bitmap">monChemin/monImageThumb.png</thumb>
Le nom du téléphone
<description language="fr">Le texte que tu n'utilises même pas dans ta source</description>
<manufacturer>Sony Erikson</manufacturer>
723
etc...
</store>
29 juin 2011 à 18:29
Ca marche même pas.
29 juin 2011 à 12:48
29 juin 2011 à 11:58
29 juin 2011 à 11:23
28 juin 2011 à 22:55
même remarques que pour ta source précédente.
concernant ton pb, vérifie le CHMOD
Cordialement
28 juin 2011 à 20:35