• User

    flash e xml

    Ciao a tutti, volevo un'informazione. Sono riuscita a caricare 4 foto con un file xml esterno in flash. Il codice xml e' il seguente:

    <gallery>
    <image title="Title 1" main="img/image-1.jpg" thmb="img/thumbnail-1.jpg"/>
    <image title="Title 2" main="img/image-2.jpg" thmb="img/thumbnail-2.jpg"/>
    <image title="Title 3" main="img/image-3.jpg" thmb="img/thumbnail-3.jpg"/>
    <image title="Title 4" main="img/image-4.jpg" thmb="img/thumbnail-4.jpg"/>
    </gallery>

    In Flash ho creato 2 movieclip vuoti, uno con il nome d'istanza "loader" e l'altro con il nome "thumbnails", e un campo di testo dinamico con nome d'istanza "title_txt".
    Sul fotogramma ho messo questo codice:

    myPhoto = new XML();
    myPhoto.ignoreWhite = true;
    myPhoto.onLoad = function(success) {
    //portfolioTag = this.firstChild;
    numimages = this.firstChild.childNodes.length;
    spacing = 70;
    for (i=0; i<numimages; i++) {
    this.picHolder = this.firstChild.childNodes*;
    this.thumbHolder = thumbnails.createEmptyMovieClip("thumbnail"+i, i);
    this.thumbHolder._x = i*spacing;
    this.thumbLoader = this.thumbHolder.createEmptyMovieClip("thumbnail_image", 0);
    this.thumbLoader.loadMovie(this.picHolder.attributes.thmb);
    this.thumbHolder.title = this.picHolder.attributes.title;
    this.thumbHolder.main = this.picHolder.attributes.main;
    this.thumbHolder.onRelease = function() {
    loader.loadMovie(this.main);
    title_txt.text = this.title;
    };
    }
    };
    myPhoto.load("xmlphoto.xml");

    Quando provo il filmato, funziona tutto a meraviglia. La mia domanda e' questa:

    Come faccio ad inserire altre 4 foto sotto alle altre? Ho provato a farle caricare con il file xml, ma me li carica accanto alle 4 esistenti.
    Spero di essermi spiegata bene.
    Grazie in anticipo


  • Super User

    Dovresti lavorare sulla _y delle clips in questo modo:

    
    if(i>numimages)
        this.thumbHolder._y=this.thumbHolder._height+10;
    
    

  • Super User

    Ho dimenticato una cosa.
    Il codice giusto è:

    
    if(i>numimages/2)
        this.thumbHolder._y=this.thumbHolder._x+this.thumbHolder._height+10;