Организация MC, который вызывается из XML в обратном направлении - PullRequest
0 голосов
/ 24 марта 2010

Я загружаю свой MC из XML в обратном направлении, и он разделен на 10 на страницы. Когда он загружен на сцену, он не может быть организован в соответствии с сетками. И когда я нажимаю на другие страницы, чтобы позволить ему запустить еще 10 перед предыдущим загруженным объектом XML, он не добавляется в массив (я очистил массив перед перезагрузкой XML)

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();
    }

моё предположение о проблеме может заключаться в цикле 2, который 1 использует ++, а другой -?

1 Ответ

0 голосов
/ 25 марта 2010

почти исправил это. хотя первые данные в XML, похоже, не отображаются. Возможно, нужно обмануть сумму на -1 в загруженных данных XML.

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);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...