• User Attivo

    [Risolto] Foto gallery - load movie

    Ho una foto gallery con un file xml e vorrei inserirla in un sito in flash tramite un pulsante dove inserisco qst codice:

    on (release) {
    loadMovie("gallery.swf", "segnetto");
    }
    nella file relativo alla foto gallery ci sn qst azioni:

    //centro l'immagine
    _root.segnetto.onEnterFrame = function() {
    if (_root.segnetto.box.getBytesLoaded()>10 && _root.segnetto.box.getBytesLoaded()>=_root.segnetto.box.getBytesTotal()) {
    _root.segnetto.box._x = Stage.width/2-(_root.segnetto.box._width/2);
    _root.segnetto.box._y = Stage.height/2-(_root.segnetto.box._height/2);
    }
    };
    Stage.showMenu = false;
    quality = "BEST";

    e poi qst all'interno:

    // imposta a false se non vuoi la descrizione
    descriptions = true;
    // box descrizione invisibile
    alert._visible = false;
    // effetto ease
    var ease = 5;
    //imposto la scala della foto grande
    _root.segnetto.scala_x = 90;
    _root.segnetto.scala_y = 110;
    //imposto la barra visibile
    _root.segnetto.barra_stato = "true";
    _root.segnetto.box.useHandCursor = false;
    //leggo i dati XML
    thumbs = new XML();
    thumbs.ignoreWhite = true;
    thumbs.load("dati.xml");
    // qui inserire il percorso al file .XML
    thumbs.onLoad = function() {
    root = this.firstChild;
    total = root.segnetto.childNodes.length;
    displayNum = Number(root.segnetto.childNodes[0].attributes.displayNum);
    separation = Number(root.segnetto.childNodes[0].attributes.separation);
    //settings
    w = 60;
    h = 55;
    mask._width = displayNum*(w+separation);
    mask._height = h+30;
    forward._x = mask._width+20;
    forward._y = back._y=h/2;
    mcs = [];
    for (i=0; i<total; i++) {
    mcs.push(i);
    newThumb = thumbnailer.container.duplicateMovieClip("container"+i, i);
    with (newThumb) {
    _x = (w+separation)i;
    preloader._x = w/2;
    preloader._y = h/2;
    shape._width = w;
    shape._height = h;
    }
    var image = root.segnetto.childNodes
    .childNodes[0].firstChild.nodeValue;
    var image1 = root.segnetto.childNodes[0].childNodes[0].firstChild.nodeValue;
    newThumb.image = root.segnetto.childNodes*.childNodes[0].firstChild.nodeValue;
    newThumb.desc = root.segnetto.childNodes*.childNodes[1].firstChild.nodeValue;
    newThumb.link = root.segnetto.childNodes*.childNodes[2].firstChild.nodeValue;
    loadMovie(image1, _root.segnetto.box.foto_effetto);
    _root.segnetto.box._xscale = _root.segnetto.scala_x;
    // scalo la larghezza
    _root.segnetto.box._yscale = _root.segnetto.scala_y;
    // scalo l'altezza
    newThumb.onRelease();
    newThumb.cont.loadMovie(image);
    //carico le thumbs
    newThumb.cont2.loadMovie(image);
    //carico le thumbs e le scalo
    newThumb.cont._xscale = 8.2;
    // scalo la larghezza
    newThumb.cont._yscale = 12.2;
    // scalo l'altezza delle ombre associate alle immagini
    newThumb.cont2._xscale = newThumb.cont._xscale;
    newThumb.cont2._yscale = newThumb.cont._yscale;
    newThumb.onRelease = function() {
    loadMovie(this.image, _root.segnetto.box.foto_effetto);
    // carico l'immagine nel clip effetto
    _root.segnetto.box.play();
    // avvio il box
    _root.segnetto.box._xscale = _root.segnetto.scala_x;
    // scalo la larghezza
    _root.segnetto.box._yscale = _root.segnetto.scala_y;
    // scalo l'altezza
    };
    if (descriptions) {
    newThumb.onRollOver = function() {
    alert.desc = this.desc;
    alert._visible = true;
    this._xscale = 120;
    this._yscale = 120;
    this._y = this._y-10;
    this._x = this._x-5;
    this.swapDepths(9);
    };
    newThumb.onRollOut = function() {
    alert._visible = false;
    this._xscale = 100;
    this._yscale = 100;
    this._y = this._y+10;
    this._x = this._x+5;
    };
    }
    }
    //
    var offset = total-1;
    var dest = 0;
    var increment = w+separation;
    var ending = (total-displayNum)(w+separation);
    var lastmc = total-1;
    var firstmc = 0;
    back.onRelease = function() {
    if (dest<0) {
    dest += increment;
    } else {
    first = mcs[0];
    for (k=0; k<total; k++) {
    mcs[k] = mcs[k+1];
    }
    mcs[total-1] = first;
    thumbnailer["container"+lastmc]._x = -(w+separation);
    firstmc = lastmc;
    //check whos new lastmc
    for (k=0; k<total; k++) {
    if (mcs[k] == (total-1)) {
    lastmc = k;
    }
    }
    }
    };
    forward.onRelease = function() {
    if (dest>-ending) {
    dest -= increment;
    } else {
    last = mcs[total-1];
    for (k=1; k<total; k++) {
    mcs[total-k] = mcs[total-k-1];
    }
    mcs[0] = last;
    thumbnailer["container"+firstmc]._x = (displayNum)
    (w+separation);
    lastmc = firstmc;
    //check whos new firstmc
    for (k=0; k<total; k++) {
    if (mcs[k] == 0) {
    firstmc = k;
    }
    }
    }
    };
    //movement
    onEnterFrame = function () {
    for (j=0; j<total; j++) {
    thumbnailer["container"+j]._x += (dest+(mcs[j])*(w+separation)-thumbnailer["container"+j]._x)/ease;
    }
    alert._x = _xmouse;
    alert._y = _ymouse;
    };
    };

    Il problema è che qst clicco sul pulsante che dovrebbe richiamare la galleria NN RICCHIAMA NIENTE...NN VISUALIZZA NULLA. e nn capisco 😞

    come potrei risolvere?

    ps il file xml ha qst codice:

    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <images>
    <thumb displayNum="6" separation="5">
    <image>images/foto1.jpg</image>
    <description>Paesaggio Futuristico</description>
    </thumb>
    <thumb>
    <image>images/foto2.jpg</image>
    <description>Kristin Kreuk</description>
    </thumb>
    <thumb>
    <image>images/foto3.jpg</image>
    <description>Paesaggio Fantastico</description>
    </thumb>
    <thumb>
    <image>images/foto4.jpg</image>
    <description>Tartaruga</description>
    </thumb>
    <thumb>
    <image>images/foto5.jpg</image>
    <description>Bosco</description>
    </thumb>
    <thumb>
    <image>images/foto6.jpg</image>
    <description>Spot Cocacola</description>
    </thumb>
    <thumb>
    <image>images/foto7.jpg</image>
    <description>Alessandra Ambrosio</description>
    </thumb>
    </images>

    Grazie di cuore in anticipo


  • Super User

    Oddio...a guardare cosi mi mandi gli ochi in tilt.:():

    visto che hai iniziato a metterci _root.segnetto continua cosi per tutti i clip tanto per inziare.

    Mi dispiace ma a guardare linee di codice cosi, personalmente non ci arrivo a dirti dove è il problema. Non si capisce al volo quale sono variabile, che tipo sono, quale sono i array o clip filmati...:?


  • User Attivo

    sinceramente nn so la differenza...io ho solo aggiunto segnetto. dopo _root.

    nn ho idea da cosa sbaglio..ma nn mi fa vedere nulla..

    se avete una galleria simile...ne sarei molto felice.

    Grazie


  • Super User

    Il problema non sta con la galleri...qualunque userai avrai lo stesso problema.
    Una volta che viene caricata in un altro clip filmato via loadMovie, tutti i path cambiano e flash non trovi gli elementi chiamati della galleri.
    Di la se hai un _root, diventa _root.segnetto.

    Se hai il tutorial da dove viene quella galleria o un risultato finale o un fla da scaricare, si potrebbe capire meglio in che consista esatamente.


  • User Attivo

    Lo so..è x qst ti ho inviato il tutorial e la mia prova (ke nn va).

    Grazie e ciao 🙂


  • Super User

    Ok, quando ho il tempo ci do un occhiatta.


  • User Attivo

    T sta facendo impazzire pure a te,vero? 😞

    notte


  • Super User

    Ciao,
    no...non mi fa impazzire. Lavoro e solo adesso ho avuto il tempo di guardarlo.;)

    Soluzione facile, senza complicarti la vita...usa loadMovieNum, invece del loadMovie. Facendo cosi la galleria funziona benissimo senza dovere modificare una riga del suo codice.:)


  • User Attivo

    scusa ma in quale? nel tutorial o nella mia prova?

    Grazie


  • User Attivo

    Ci sono riuscito 🙂

    Ma ora x fare andare via la galleria? 😞

    come potrei procedere?


  • Super User

    ciao,

    non ho piu i file. Provo e butto subito per evitare troppe 'schiffese' inutile sul mio pc.:D

    L'azione del pulsante diventa:
    on(release){
    loadMovieNum("gallery.swf", 1);
    }

    L'ho provato partando del tuo fla 'prova' ma ho riusato la galleria del tutorial per essere sicura che non avevi fatto errore ricopiando il fla orginale e anche perche hai una cartella pieno di foto con thumbs inutile e nomi sbagliati.

    Per scaricare il filmato, usa il unloadMovieNum(1);


  • User Attivo

    Ciao Maestra ho un problema cn il pulsante CHIUDI nella galleria (xkè lo vorrei fare nella galleria stessa).

    Ke codice devo inserire?

    ps ti ho inviato il vecchio tutorial

    Grazie


  • Super User

    Gia risposto.;)

    Sempre unloadMovieNum(1)...quello è il bello (per modo di dire) di usare il loadMovieNum.


  • User Attivo

    Capito!!! 🙂

    Grazie..6 stata gentilissima

    ps a poco a poco ci sto capendo qlc 🙂


  • User

    scusate buongiorno, volevo chiedervi una piccola informazione: ho un swf che dopo una piccola animazione arriva alla home, a questo punto si ferma e arrivano 5 pulsanti che dovrebbero caricare 1 swf per uno, quindi 5...
    Ogni swf non è nient'altro che una piccola proiezione di 4 fotografie che sfumano una sull'altra in loop....ecco domanda
    Chiaramente ogni swf è molto pesante, come faccio a caricarli esternamente senza far pesare troppo il muvi iniziale? ho provato con il componente "loader" ma comunque sono molto pesanti e quando con il pulsante mando a x frame e li il componente carica swf esterno, impiega molto a caricare...mi chiedo non c'è un modo che carica già all'inizio? oppure è forse meglio avere un swf vuoto e che carica tutto il sito esternamente? se volete vi mando il link per farvi capire....grazie dell'attenzione a tutti