• User Newbie

    swf esterno: loadVarsNum non risponde

    Salve a tutti ho un problema che mi affligge. Devo caricare un file chiamato chat.swf all'interno di un altro file.swf. Premetto che la chat caricata singolarmente funziona perfettamente. Dal momento in cui la carico all'interno di un altro filmato la chat smette di funzionare, o meglio, rimane la funzionalità dei tasti per il login ma scompare la visualizzazione del testo. La chat è composta da un file swf e da quattro file rispettivamente due file di testo e tre file php. La cosa curiosa è che controllando sul server il file txt su cui appaiono i login e i messaggi rimane traccia dei miei passaggi anche se io dal swf "madre" non visualizzavo alcun testo. I campi di testo nel file chat.swf sui quali dovrebbero apparire i messaggi e i login sono campi di testo input ognuno con una propria variabile. Ho cercato qualche spiegazione in giro e principalmente la spiegazione verte su un problema di path. Infatti il tasto per il LOGIN posto nella primo fotogramma della prima scena porta con se il seguente codice:

    on (release, keyPress "<Enter>") {
    loadVariablesNum("login.php", 0, "POST");
    if (nickname eq "") {
    nick = "Scegli un nickname!";
    gotoAndStop(1);
    } else {
    play();
    }
    }

    il tasto SEND per spedire il messaggio posto nel secondo fotogramma ha il seguente codice:

    on (release, keyPress "<Enter>") {
    loadVariablesNum("chat.php", 0, "POST");
    message = "";
    }

    il tast LOGOUT per uscire dalla chat posto nel secondo fotogramma ha questo codice:

    on (release) {
    loadVariablesNum("logout.php", 0, "POST");
    gotoAndStop(1);
    }

    nel secondo fotogramma della scena ci sono come dicevo prima tre campi di testo di input uno con variabile message dove si scrive il messaggio, uno con variabile output dove si visualizza il teso dei messaggi, e l'altro con variabile login dove si visualizza l'elenco dei nickname che hanno fatto il LOGIN.

    Infine sempre nel secondo fotogramma c'è un clip filmato vuoto che contiene all'interno un livello composto da 24 fotogrammi che ha la funzione di aggiornare i dati della chat che riporta nel primo fotograma

    loadVariablesNum("chat.php", 0, "GET");

    nel dodicesimo

    loadVariablesNum("login.php", 0, "GET");

    e nell'ultimo

    gotoAndPlay(1);

    a completare il tutto ci sono 5 file (3 sono .php e 2 sono .txt).

    io devo caricare questa chat all'interno di un file che si chiama home.swf. Per localizzarvi esattamente il punto del file home.swf nel quale devo caricare la chat , vi inserisco il percorso del simbolo nel quale è collocato il componente loader col nome istanza di caricachat al quale ho richiesto di caricare il file esterno:

    _root.barra.sarea.caricachat

    E adesso davvero per finire vi dico che il file home.swf è a sua volta caricato all'interno di un altro file swf che si chiama index.swf il quale contiene il caricamento del sito: quindi index carica home che a sua volta carica chat.swf.
    Io ho già dovuto far relazionare il file home.swf con un altro file swf esterno contenente un filmato. Praticamenta nel file filmato.swf ho inserito nell'ultimo fotogramma un codice in grado di realizzare al termine di quest'ultimo un dato effetto nel file home.swf. Il filmato.swf era caricato da un componente loader col nome istanza di caricafilmato nel file home.swf nel seguente punto

    _root.barra.sprofile.caricafilmato

    ovviamente per richiamare questo percorso dal file filmato.swf contenuto al suo interno ho dovuto inserire nel codice la dicitura _level e quindi:

    _level1.barra.sprofile.caricafilmato

    e infatti funziona perfettamente in quanto _level0 è il file "madre" index.swf, _level1 è il file home.swf

    Ho provato a fare queste modifiche sul tast LOGIN e sugli altri tasti del file chat.swf inserendo la dicitura _level come per esempio:

    on (release, keyPress "<Enter>") {
    _level1.barra.sarea.loadVariablesNum("login.php", 0, "POST");
    if (nickname eq "") {
    nick = "Scegli un nickname!";
    gotoAndStop(1);
    } else {
    play();
    }
    }

    ma non so, non ho ottenuto granchè.... forse mi perdo in un bicchier d'acqua.....

    Please HELP ME!!!!!!!!!!!:x


  • Super User

    Ciao e benvenuto nella sezione Flash 🙂

    Fai una prova veloce,
    cambia tutti i _root con this nel FLA dell' swf che viene caricato
    Ma non quelli all'interno degli eventi dei bottoni.


  • User Newbie

    Grazie provo e intanto ti mando il fla. Prova a caricarlo in un component loader di un altro filmato....


  • User Newbie

    ti allego lo zip giusto, nel fla precedente mancava un clip


  • User Newbie

    Provo semplicemente ad aprire un nuovo documento; inserisco nel primo fotogramma un componente loader a cui dico di caricare l'swf del chat.fla che ti ho mandato. Mi carica tutto ma come al solito non visualizzo il testo. Prova anche tu su un documento nuovo a importare l'swf. Se funziona dovresti visualizzare al posto del testo una serie di stringhe in php come quando lanci da solo in locale chat.swf. Se puoi rimandami uno zip corretto.
    p.s. ho flash MX2004 e non flash8


  • Super User

    Per Flash MX 2004 non posso fare niente.