Как скопировать MovieClip из XML, один в другой, с разными размерами? - PullRequest
0 голосов
/ 09 июня 2011

У меня есть этот сценарий, и я хочу знать, как дублировать мувиклипы, друг с другом. Этот скрипт прекрасно работает с изображениями одинаковой ширины, но когда размеры его разные, не работают.


var dados:XML = new XML();
dados.ignoreWhite = true;
dados.load("xml/15anos.xml");
dados.onLoad = function():Void  {
qtd = this.childNodes[0].childNodes.length;
for (j = 0; j <= qtd; j++) {
mcPanels.item_mc.duplicateMovieClip("item_mc" + j,mcPanels.getNextHighestDepth());
mcPanels["item_mc" + j].imagem = this.childNodes[0].childNodes[j].childNodes[0].attributes.imagem;
mcPanels["item_mc" + j].tamanho = this.childNodes[0].childNodes[j].childNodes[1].attributes.tamanhofoto;</p>

<p>mcPanels["item_mc" + j].foto.loadMovie(mcPanels["item_mc" + j].imagem);</p>

    mcPanels["item_mc" + j]._x = j * mcPanels["item_mc" + j].tamanho;
    mcPanels["item_mc" + j]._y = 0;}}

1 Ответ

0 голосов
/ 10 июня 2011

Спасибо @Martin Coulthurst за помощь, за это решение в другом вопросе !!!

это решение:

dados.onLoad = function():Void  {
    qtd = this.childNodes[0].childNodes.length;
    _root.qualqtd = this.childNodes[0].childNodes.length;
    //track the width of the images

    var totalWidth:Number = 0;

    for (j = 0; j @= qtd; j++) {
        mcPanels.item_mc.duplicateMovieClip("item_mc" + j,mcPanels.getNextHighestDepth());
        mcPanels["item_mc" + j].imagem = this.childNodes[0].childNodes[j].childNodes[0].attributes.imagem;
        mcPanels["item_mc" + j].tamanho = Number (this.childNodes[0].childNodes[j].childNodes[1].attributes.tamanhofoto);
        mcPanels["item_mc" + j].foto.loadMovie(mcPanels["item_mc" + j].imagem);
        //dynamically set the x position based on previous image width
        mcPanels["item_mc" + j]._x = totalWidth;
        mcPanels["item_mc" + j]._y = 0;
        //store a reference to the new foto holder
        imageList.push(mcPanels["item_mc" + j]);

        //i assume you have the width in your xml
        totalWidth += mcPanels["item_mc" + j].tamanho;
    }
};
...