• User Attivo

    Caricare una variabile presente in root da un flip filmato

    Sempre pieno di domande, spero un giorno di dare io delle risposte.
    Il problema è questo: Nel mio form ho creato dei campi di testo imput che mi restituiscono delle variabili, dentro un clip filmato presente sempre al primo fotogramma ho inserito il pulsante che deve controllare le variabili, se queste sono nulle perché i campi non vengono compilati il pulsante fa partire la riproduzione del fotogramma 2 sulla root che contiene un messaggio di errore e dopo averlo visualizzato per alcuni secondi torna al fotogramma uno sulla root.
    Il problema è che le variabili non vengono caricate all'interno del clip filmato, è come se avessi un altro swf, come faccio a caricarle all'interno di un clip filmato?
    Gazie.


  • Super User

    Non devi caricarle, devi raggiugere iloro valori con un giusto percorso.

    Ad esempio, se il tuo bottone è all' interno di una MovieClip, dal codice sul keyframe della root puoi recuperare il bottone:
    nomeMovieClipContenitore.nomeBottone

    per recuperare i valori dei campi di testo, se sono sulla timeline principale, basta che scrivi:
    nomeCampoDiTesto.text

    Se scrivi delcodice all' interno della MovieClip che contiene il bottone, allora ti complichi la vita per nulla.
    Scrivi il codice solo sulla timeline 😉


  • User Attivo

    il bottone è all'interno di un clipfilmato perché contiene una animazione di rollOver ed una di RollOut, avevo provato anche a mettere tutto sulla timeline ma avevo problemi per via della funzione RollOut, in realtà la vita l'ho complicata prima facendo in quel modo. Ora ho il form sulla root, il pulsante in un clip filmato sul primo fotogramma, il primo messaggio di errore sul secondo fotogramma e così via. In questo modo non faccio altro che spostare la riproduzione al frame contenente il form che mi interessa, avevo anche provato ad usare il metodo che mi avevi consigliato prima, attachMovie, ma non so perché non funziona anche se ho fatto come mi avevi descritto, quindi ho preferito usare _root.gotoAndStop (numero del fotogramma); in questo modo funziona ma solo con la prima variabile.
    Ora passando a ciò che mi hai scritto ora, mi pare di capire che io in realtà con il bottone non vado a confrontare la variabile ma direttamente il contenuto del campo di testo, quindi se il campo di testo si trova sulla root della timeline ed il pulsante nel clip filmato dovrei scrivere

    on (release) {
    if (_root.nomeCampoDiTesto.text == null)
    {
    _root.gotoAndStop(2);
    }}
    peccato che passa sempre all'istruzione successiva che carica il fotogramma(3)

    nel mio caso ci sono più campi if else

    tu dici che devo recuperare il bottone, quindi devo mettere la stringa come l'hai scritta tu ed assegnare la funzione onRelease esternamente?

    in questo caso dovrei scrivere nel codice del primo fotogramma

    stop ();
    pulsanteinvia1.invia
    invia = function(){
    on (release) {
    if (nomeCampoDiTesto.text == null)
    {
    gotoAndStop(2);
    }}}
    spero di aver capito

    pulsanteinvia è il nome del mio clip
    1 è il fotogramma che contiene il clip
    invia è il nome del pulsante

    spero di aver capito.
    Grazie


  • Super User

    meglio:

    if (nomeCampoDiTesto.text == "")