Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1416 connectés 

  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  attachMovie : poses sur une grille

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

attachMovie : poses sur une grille

n°1483619
freed102
Arayashiki
Posté le 29-11-2006 à 11:29:23  profilanswer
 

Bonjour,  
une petite question d'algorithmie...
 
voila, j'extrais des données XML, et je fais des attachMovies pour poser mes icones dans mon clip...
 
j'aimerai que mes icones se posent sur "grille"...
 
j'arrive à les positionner tous les x pixels en largeur... jusque là pas de problème... ça donne :
 
j=130*n+25;
k=227;
clip=liste
icone=clip.attachMovie("icone_clip","icone"+n,liste.getNextHighestDepth(),{_x:j,_y:k});
 
 
mais j'arrive aps à leur dire que au bout de 5.. tu passes à la ligne du dessus et tu recommences à zero (c'est tout bete je pense !)
 
voici mon code :
 

Code :
  1. import mx.transitions.Tween;
  2. import mx.transitions.easing.*;
  3. stop();
  4. /*if(!_root.rubrique)
  5. {
  6. _root.rubrique="espace";
  7. _root.langue="fr";
  8. }*/
  9. if(!_root.itemid)
  10. {
  11. _root.itemid="";
  12. }
  13. baseurl="";
  14. //trace(_root.rubrique);
  15. _root.currentView=1;
  16. function newBookXML(fichier)
  17. {
  18. bookXML = new XML();
  19. bookXML.ignoreWhite=true;
  20. bookXML.onLoad=extractData2;
  21. bookXML.load(fichier);
  22. trace(fichier);
  23. reponse.text+=fichier+"\n";
  24. }
  25. function extractData2(success){
  26. //trace("data ok " );
  27. //trace(bookXML.firstChild.childNodes.length);
  28. xml=bookXML.firstChild.childNodes;
  29. var objets:Object=new Object();
  30. reponse.text+="xml :"+this
  31. //parse XML
  32. _root.row_tab=1;
  33.  thisChild=xml;
  34.  k=0;
  35.  j=0;
  36.  for(n=0;n<thisChild.length;n++)
  37.  {
  38. //trace(thisChild[n].childNodes[2].lastChild)
  39.  objets[_root.row_tab]=new Object();
  40.  objets[_root.row_tab]._icone=baseurl+thisChild[n].firstChild.childNodes[0].lastChild;
  41.  objets[_root.row_tab]._projet=thisChild[n].firstChild.childNodes[1].lastChild;
  42.  objets[_root.row_tab]._description=thisChild[n].firstChild.childNodes[2].lastChild;
  43.  objets[_root.row_tab]._legende=thisChild[n].firstChild.childNodes[3].lastChild;
  44.  objets[_root.row_tab]._photo=baseurl+thisChild[n].firstChild.childNodes[4].lastChild;
  45.  objets[_root.row_tab]._id=thisChild[n].firstChild.childNodes[5].lastChild;
  46.   j=130*n+25;
  47.   k=227;
  48.  clip=liste
  49.  trace("icone "+n+ " : "+_root.baseurl+thisChild[n].firstChild.childNodes[0].lastChild)
  50.  icone=clip.attachMovie("icone_clip","icone"+n,liste.getNextHighestDepth(),{_x:j,_y:k});
  51.  trace(icone)
  52.  //trace ("j : "+ j + " k : "+k+ " depth :"+liste.getNextHighestDepth())
  53.  icone.scene.loadMovie(_root.baseurl+thisChild[n].firstChild.childNodes[0].lastChild);
  54.  icone._id=thisChild[n].firstChild.childNodes[4].lastChild;
  55.  //trace("item : "+thisChild[n].firstChild.childNodes[4].lastChild);
  56.  icone.onPress=function()
  57.  {
  58.   trace(this._id);
  59.   _root.itemid=this._id;
  60.   _root.currentRub="__3ter";
  61.   _root.loadScene();
  62.  }
  63.  _root.row_tab++;
  64.  //trace(_root.row_tab);
  65.  }
  66. }
  67. newBookXML(_root.baseurl+"presseiconesxml.php?id="+_root.itemid+"&langue="+_root.langue)

mood
Publicité
Posté le 29-11-2006 à 11:29:23  profilanswer
 

n°1483638
Zedlefou
In cabbage we trust !
Posté le 29-11-2006 à 11:47:56  profilanswer
 

Si j'ai bien compris ton probléme, voici un bout de code qui pourra t'aider :

 
Code :
  1. //endehors de ta boucle
  2. var m = 0;
  3. // dans la boucle
  4. j=130*n+25;
  5. k=227+m*60; // par exemple
  6. if (n>5) {
  7.   m++
  8. }


Message édité par Zedlefou le 29-11-2006 à 11:48:32
n°1483705
craps_youp​la
Posté le 29-11-2006 à 13:51:35  profilanswer
 

ça se fait avec l'opérateur modulo %, qui donne le reste d'une division.
 
SI n % nbParLigne = 0
ALORS nbDeLigne ++;
_y = offsetY * nbDeLigne;
 
yeah, rock'n'roll le modulo, à maitriser : si le reste de la division = 0, c'est que n est multiple de nbParLigne, et donc logiquement on peut passer à la ligne suivante. Attention : avec n = 0 , n % m est toujours égal à zéro.

Message cité 2 fois
Message édité par craps_youpla le 29-11-2006 à 13:56:50
n°1483716
FlorentG
Posté le 29-11-2006 à 13:56:37  profilanswer
 

craps_youpla a écrit :

yeah, rock'n'roll le modulo, à maitriser.


Ouh yeah, c'est fondamental !

n°1483725
freed102
Arayashiki
Posté le 29-11-2006 à 14:05:12  profilanswer
 

craps_youpla a écrit :

ça se fait avec l'opérateur modulo %, qui donne le reste d'une division.
 
SI n % nbParLigne = 0
ALORS nbDeLigne ++;
_y = offsetY * nbDeLigne;
 
yeah, rock'n'roll le modulo, à maitriser : si le reste de la division = 0, c'est que n est multiple de nbParLigne, et donc logiquement on peut passer à la ligne suivante. Attention : avec n = 0 , n % m est toujours égal à zéro.


 
 
ah oui j'avais deja vu un truc comme ça il ya longtemps en PHP pour savoir si une ligne etait paire ou impaire pour changer la couleur !!!  
 
ça donnait un truc du genre :
 
if($ligne%2=0)
{
echo "ligne paire";
}
else
{
echo "ligne impaire";
}
 
(j'en suis plus tres sur mais ça ressemblait à ça !)
merchi bcp !! je vais me pencher sur l'histoire du modulo qui a l'air tres tres bienx !!!
 
Merchi !!!
:jap:


Message édité par freed102 le 29-11-2006 à 14:06:35

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  attachMovie : poses sur une grille

 

Sujets relatifs
recuperer un item affiché avec attachmovieComment alléger le plus possible une grille de 1400 liens ?
[flash] pblm attachMovieHELP : générer grille gui
problem avec attachMovieinserer plusieurs clips avec attachmovie
faire une grille ?Appel de la méthode OnMouseDown d'une grille sous C++ Builder
C++ grille (style bataille navale)Grille (border="1") tableau en xhtml ? [Resolu]
Plus de sujets relatifs à : attachMovie : poses sur une grille


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR