[Flash] newbie vs Events de List

newbie vs Events de List [Flash] - Flash/ActionScript - Programmation

Marsh Posté le 29-08-2005 à 22:34:58    

Salut a tous,
je suis newbie en flash, et je me bat depuis 2 jours avec les events d'une list. J'ai parcouru beaucoup de site internet, sur les composants, et tout le toutim, mais je n'ai pas trouvé ce que je voulais. Et pourtant, c'est sans aucun doute monnaie courante. Ca doit etre tellement trivial, que tout le monde se dispense de donner des exemples.
 
Donc voila, je remplit une liste avec un fichier XML, jusque la tout marche comme sur des roulettes. Mon probleme vient du fait que je voudrais que lorsque l'on clique sur un objet de la liste (donc quand un objet prends le focus je suppose), et bien s'ouvre une pop-up avec comme URL un url mit dans l'objet au champ "data".  
 
voici un peu de code :
 

Code :
  1. listenerObject = new Object();
  2. listenerObject.focusIn = function(eventObject)
  3. {
  4. var MonItem = liste_c.selectedItem;
  5. getURL(MonItem.data, "_blank" );
  6. }
  7. liste_c.addEventListener("focusIn", listenerObject)


 
J'ai listé les variables et les objets dans une execution et ca marche correctement. mais quand je clique sur les objets de la liste... il ne se passe rien!
Je suppose donc que je me plante surement dans les events et les focus et tout ca!
donc help help!
merci bien bonnes gens :-)


Message édité par Giansolo le 30-08-2005 à 12:03:17
Reply

Marsh Posté le 29-08-2005 à 22:34:58   

Reply

Marsh Posté le 30-08-2005 à 10:57:55    

up'and'up'and'up boum boum

Reply

Marsh Posté le 02-09-2005 à 10:35:52    

essaye comme ca:

Code :
  1. listenerObject = new Object();
  2. listenerObject.focusIn = function(eventObject) {
  3.     var MonItem= String(list_c.getSelectedItem().label);
  4.     getURL(MonItem, "_blank" );
  5. }
  6. liste_c.addEventListener("focusIn", listenerObject)


Message édité par mechkurt le 02-09-2005 à 10:36:19

---------------
D3
Reply

Marsh Posté le 03-09-2005 à 16:10:28    

ouais ca marche... thanks!!!
vive AS :-S

Reply

Marsh Posté le 03-09-2005 à 21:57:15    

ouais y ont changé le fonctionement des listener de composant (entre le MX et le MX 2004 je crois), j'ai cherché un moment...
ce qui y a de mieux (même si ca rame) c'est de verifier l'info à la source vu que l'aide du logiciel n'est pas mis a jour:
http://livedocs.macromedia.com/fla [...] _ASLR.html


---------------
D3
Reply

Marsh Posté le 24-09-2005 à 16:42:43    

et oui c'est encore moi,
la j'ai encore une galère avec un composant List, que je ne comprends pas du tout.
Dans mon site web, j'ai 4 ou 5 listes en flash qui se chargent a partir de fichiers XML, et il y en a une qui ne se charge pas du tout....
 
J'ai donc pensé logiquement que le fichier XML était mal foutu, ce qui n'est pas le cas, que le code était mauvais, ce que je ne pense pas etre le cas (mais bon je suis un newbie donc ya  de fortes possibilitées que ca vienne de la, mais j'ai aucun moyen de savoir). J'ai donc essayé de la remplir dans le champ "propriété > paramètres" avec des valeurs bidons... et rien a faire... elle ne les affiche meme pas... (je précise que j'ai mis le code ci dessous en commentaire quand j'ai procédé a ce test).
je l'ai supprimée et j'en ait remit un autre et rebelotte, meme probleme...
En plus le bas de la liste bug un peu on dirait, le fond sort un peu du cadre... tres tres bizarre...
 
je poste le code que j'utilise pour la charger :
 

Code :
  1. // Initialisation d'un occurence xml
  2. var dmcxml = new XML();
  3. dmcxml.ignoreWhite = true;
  4. // Création de l'évenement pour la réception des données xml
  5. dmcxml.onData=function(succes){
  6. if(succes == false){
  7. }else{
  8.  this.parseXML(succes);
  9.  if(this.status==0){
  10.   //Création du tableau pour le dataProvider de la List  
  11.   creationObjMenu(this);
  12.  }else{
  13.   trace("Erreur dans le xml type="+this.status);
  14.  }
  15. }
  16. };
  17. //Tableau pour remplir ma liste
  18. var MondataProvider:Array = new Array();
  19. function creationObjMenu(monxml:XML)
  20. {
  21. var xmlAll:XML = monxml.childNodes[0];
  22. // Récupération des styles s'ils existent et remplacement des styles par défaut dans l'objet MonStyle
  23. if(xmlAll.attributes.font!=="undefined" ){MonStyle.fontFamily =xmlAll.attributes.font}
  24. if(xmlAll.attributes.color!=="undefined" ){MonStyle.color=xmlAll.attributes.color}
  25. if(xmlAll.attributes.size!=="undefined" ){MonStyle.fontSize=xmlAll.attributes.size}
  26. // Enregistrement du style
  27. _global.styles.monStyle = MonStyle;
  28. //Parcour toutes les balises menu
  29. for(var i=0;i<xmlAll.childNodes.length;i++)
  30. {
  31.  //Creation d'un object conteneur qui correspond à un élément de la liste
  32.  var objectMenu = new Object();
  33.  objectMenu.label = xmlAll.childNodes[i].firstChild.nodeValue;
  34.  //Vous pouvez creer un attribut data dans la balise si vous le désirez
  35.  objectMenu.data = xmlAll.childNodes[i].attributes.data
  36.  //objectMenu.data = xmlAll.childNodes[i].firstChild.nodeValue;
  37.  //Je stocke l'élément dans mon tableau
  38.  MondataProvider[MondataProvider.length] = objectMenu;
  39. }
  40. import mx.controls.List;
  41. liste_concerts.setStyle("styleName", "monStyle" );
  42. //Remplissage de la List
  43. liste_concerts.dataProvider = MondataProvider;
  44. }
  45. listenerObject = new Object();
  46. listenerObject.change = function(eventObject)
  47. {
  48. var MonItem = liste_concerts.selectedItem;
  49. getURL(MonItem.data, "_blank" );
  50. }
  51. liste_concerts.addEventListener("change", listenerObject)
  52. dmcxml.load("liste_concerts.xml" );
  53. stop();


 
merci a ceux qui peuvent me filer un coup de main!!!


Message édité par Giansolo le 24-09-2005 à 16:44:44
Reply

Marsh Posté le 24-09-2005 à 17:23:45    

les parsers xml qui fonctionnent sont basés sur le même code ?
y pourrait y avoir un PB avec onData,perso j'utilise onLoad mais je ne sais pas si ca peut venir de la...
je manque un peu de "pieces" pour voir le PB...
toujours pas de trace() ?
;-)


---------------
D3
Reply

Marsh Posté le 25-09-2005 à 10:30:36    

lol!!! je te reconnais toi!!! :-)
 
ettttttt non toujours pas de trace(); je vais le tuer ce flashMX...  
 
toutes mes list sont basées sur le meme model, et c la seule qui bugge... et elle bugge bien, meme en la chargeant par propriétés > paramètres (et en enlevant toutes les autres listes et le code les concernant) ca n'affiche rien... bluffant...
 
thanks!
geoff


Message édité par Giansolo le 25-09-2005 à 11:45:23
Reply

Marsh Posté le 26-09-2005 à 11:37:33    

c bon probleme résolu!
j'avais 2 listes exactement l'une sur l'autre!
quel malin   :pt1cable:


Message édité par Giansolo le 26-09-2005 à 17:00:56
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed