2010-03-24 5 views
0

Je charge mon MC à partir de XML vers l'arrière et il est séparé de 10 par pages. Quand il est chargé sur scène, il ne peut pas être organisé en conséquence sur les grilles. Et quand je clique sur d'autres pages pour le laisser courir un autre 10 avant que l'objet XML chargé précédent, il n'ajoute pas au tableau (je l'ai clairement hors du tableau avant de recharger le XML)Réorganisation de MC qui est appelée depuis XML vers l'arrière

private function loadItem():void { 
     commentArray=new Array(); 

     var columns:int=Math.ceil(stage.stageWidth/300); 
     var x_counter:Number=0; 
     var y_counter:Number=0; 


     var firstItem=myXMLList.length()-(currentPage*ItemPerPage); 
     var lastItem=firstItem-ItemPerPage; 

     if (lastItem<=0) { 
      lastItem=0; 
     } 
     //trace("firstItem="+firstItem, "lastItem="+lastItem) 

     for (i=(firstItem-1); i>lastItem; i--) { 
      cBox=new MovieClip(); 

//cbox created from here 
      items(); 
      allcBox.addChild(cBox); 
      commentBox(); 

//moving object to top layers 
       cBox.setChildIndex(cBox.getChildByName("box"+i),0); 

//arranging object in grids 
      for (l; l<ItemPerPage; l++) { 
       commentArray.push(cBox); 
       commentArray[l].x=(200+10)*x_counter; 
       commentArray[l].y=((60)*y_counter); 

       if (x_counter+1<columns) { 
        x_counter++; 
       } else { 
        x_counter=0; 
        y_counter++; 
       } 
      } 
      addChild(allcBox); 
      allcBox.y=-(allcBox.height+50); 
     } 
    } 
//clearing off array to run a new set so could arrange item in grids 

private function clearEverything():void { 
      commentArray.splice(0,commentArray.length); 
      currentPage=pagesArray.indexOf(event.target); 
      loadWishes(); 
    } 

Je pense sur le problème pourrait être la boucle 2 que 1 utilise ++ et l'autre -?

Répondre

0

presque fixé. Bien que les premières données en XML ne semble pas montrer. Peut-être besoin de tricher autour de la quantité de -1 sur les données XML qui est chargé.

private function loadWishes():void { 
     commentArray=new Array(); 

     var x_counter:Number=0; 
     var y_counter:Number=0; 


     var firstWishes=myXMLList.length()-(currentPage*wishesPerPage); 
     var lastWishes=firstWishes-wishesPerPage; 


     //start placing object 
     for (i=(firstWishes-1); i>lastWishes-1; i--) { 

      if (lastWishes<=0) { 
       lastWishes=1; 
      } 

      cBox=new MovieClip(); 
      wishes(); 
      //dropShadow.dShadow(sec); 
      //cBox.rotation=(Math.random()*5); 
      allcBox.addChild(cBox); 
      commentBox(); 
      cBox.setChildIndex(cBox.getChildByName("box"+i),0); 

      commentArray.push(cBox); 
      addChild(allcBox); 
     } 


     for (var l:uint=0; l<commentArray.length; l++) { 
      commentArray[l].x=(200+10)*x_counter; 
      commentArray[l].y=((100)*y_counter); 

      if (x_counter+1<columns) { 
       x_counter++; 
      } else { 
       x_counter=0; 
       y_counter++; 
      } 
     } 
     allcBox.y=-(allcBox.height+50); 
    } 
Questions connexes