Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [MX] LoadMovieNum e problemi con percorsi e livelli

    Ciao a tutti.
    So che se ne è parlato già a lungo, ma non sono riuscito a trovare informazioni che mi risolvessero il problema, per cui vi chiedo di parlarmi di nuovo della confusione coi percorsi e i livelli.

    Mi scuso per la lunghezza del post, ma voglio descrivere la situazione nel minimo dettaglio per evitare di fare altra confusione. La mia situazione è questa:

    Ho un file PHP, all'interno del quale viene caricato il movie "main.swf".
    TUTTI gli swf, rispetto al php, si trovano nella stessa cartella, il cui percorso relativo è "../include/flash/file.swf"

    Quindi il php carica il primo swf col percorso: ""../include/flash/main.swf". Fin qui tutto ok.

    A sua volta "main.swf" deve subito caricare, sul livello 1, l'swf "italia.swf". Io avevo letto da qualche parte sulla guida che quando si tratta di caricare un swf da un altro, il percorso relativo da usare è quello relativo ai due swf, non quello relativo al file che li contiene (nel mio caso il ".php").
    Quindi, essendo tutti gli swf nella stessa directory, all'inizio pensavo di dover mettere sulla timeline di main.swf il comando: "loadMovieNum("Italia.swf", 1);" Ma questo NON funziona.
    Il codice che invece funziona è: "loadMovieNum("../include/flash/Italia.swf", 1);". Perché, se la guida dice il contrario?

    Comunque a questo punto ho: il php che contiene "main.swf", che a sua volta carica "italia.swf" sul livello 1. Fin qui ok.

    A questo punto "italia.swf" contiene una serie di pulsanti. Cliccando su un pulsante si deve aprire "Veneto.swf" andando a sovrascrivere proprio "italia.swf" (in pratica italia.swf deve essere scaricato). Qui inizia la vera confusione: essendo "italia.swf" sul _level1, ed essendo i due swf nella stessa directory, pensavo bastasse dare al pulsante l'action-script:

    on (release) {
    loadMovieNum("Veneto.swf",1, "POST");
    }

    Ma non funziona.
    Mi è venuto il dubbio che a questo punto il livello 1 fosse in realtà la _root di "italia.swf", per cui ho scritto:

    on (release) {
    loadMovieNum("Veneto.swf",0, "POST");
    }

    Ma non funziona.
    Nel dubbio ho provato anche, senza successo:

    loadMovieNum("../include/flash/Veneto.swf",0, "POST");

    e

    loadMovieNum("../include/flash/Veneto.swf",1, "POST");

    Insomma, che percorso devo usare?

    Una volta caricato "Veneto.swf", dalla timeline di questo devo caricare sui livelli 2, 3 e 4 degli swf che contengono delle utilities.

    Pensavo di usare il codice:

    loadMovieNum("../include/flash/strumenti.swf", 2);
    loadMovieNum("../include/flash/info_generali.swf", 3);
    loadMovieNum("../include/flash/combobox.swf", 4);

    oppure direttamente:

    loadMovieNum("strumenti.swf", 2);
    loadMovieNum("info_generali.swf", 3);
    loadMovieNum("combobox.swf", 4);

    Giusto?
    Ora il problema che mi fa uscire ai pazzi, è che in fase di test, con "test movie", riesco a far funzionare tutto, mentre caricando gli swf tramite il php che li contiene, utilizzando lo stesso codice e gli stessi puntamenti ottengo ogni volta comportamenti diversi, sia in locale, sia on-line!!

    On line riesco solo ad arrivare a caricare dal php "main.swf" sulla _root e "italia.swf" sul _level1.

    Ma da qui in avanti è un casino. Sapete aiutarmi??
    Chiedo scusa nuovamente per la lunghezza del post, e vi ringrazio.

    Ciao!
    --
    Mko

  2. #2
    a - il file PHP non contiene niente, l' HTML che generi tramite il PHP si, quindi in caso posta l' HTML risultante del file

    b - per sicurezza se cambi percorsi e poi ne chiami altri all' interno dei nuovi , ti conviene sempre utilizzare path assoluti, cosi' vedi che non hai problemi

    esempio:
    codice:
    // primo keyframe del _level0 / _root del tuo sito ...
    var absolutePath = new String( "http://localhost/include/flash/" );
    In questo modo userai la variabile absolutePath per qualunque loadMovieNum , in modo da dover cambiare solo quella quando pubblicherai per metterlo on-line, per testare in locale, o altro ancora ... insomma, un solo percorso e sempre assoluto.

    esempio:
    on (release) {
    loadMovieNum( _root.absolutePath + "Veneto.swf", 1, "POST" );
    }
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    Originariamente inviato da andr3a
    [CUT]
    esempio:
    on (release) {
    loadMovieNum( _root.absolutePath + "Veneto.swf", 1, "POST" );
    }
    Credo di aver capito, grazie mille. Proverò appena possibile, se funziona mi hai tolto da un brutto impiccio.

    Una cosa che mi ha creato non pochi dubbi è il fatto che aprendo direttamente gli swf in successione funziona tutto, mentre on-line i primi due movies funzionano ma il terzo no. Non capivo questa "disparità di trattamento", essendo i files tutti nella stessa directory...

    Comunque grazie ancora, e scusa di nuovo per il modo "poco ortodosso" col quale ti ho coinvolto nel thread.

    Ciao!
    --
    Mko

  4. #4
    Originariamente inviato da andr3a
    [CUT]esempio:
    on (release) {
    loadMovieNum( _root.absolutePath + "Veneto.swf", 1, "POST" );
    }
    Ciao, ho fatto la prova, ma se lascio il metodo "POST" non funziona. Perché?
    In pratica questo non funziona:
    loadMovieNum( _root.absolutePath + "Veneto.swf", 1, "POST" );

    Questo invece sì:
    loadMovieNum( _root.absolutePath + "Veneto.swf", 1);

    Da che dipende? C'è un modo per farlo funzionare pure con "POST".

    Grazie, ciao.
    --
    Mko

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.