Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    19

    variabili tra root e movieclip

    Ciao a tutti,
    ho un piccolo problema con flash (come al solito..).
    Nel primo frame del primo livello della timeline temporale ho definito una variabile:

    news= new Array();

    Dopodichè richiamo una loadvars, dentro la funzione onload eseguo questa riga:

    news[1]=myData.news1;
    news[2]=myData.news2;
    news[3]=myData.news3;
    Ovviamente myData è l'oggetto loadvars, inoltre news1, news2 e news3 vengon o passate (ho provato con un trace).
    Poi ho costruito un mc (mc1), dentro il quale ho un secondo mc (mc2), dentro il quale ho un campo di testo dinamico.
    Sulla timeline di mc1 ho aggiunto alcuni keyframe e al keyframe 1 scrivo
    trace(_root.news[1]) ma ottengo undefined.
    Qualcuno sa spiegarmi come posso fare a leggere i valori di news?
    Grazie mille a tutti

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641
    suppongo che accada questo perchè viene eseguito prima il trace del caricamento. prova a mettere un bottone nel frame in cui hai messo il trace e dai al bottone questo codice:

    on(press){
    trace(_root.news[1]);
    }

    oppure metti il trace dentro l'onLoad.
    in entrambi i casi dovrebbe darti il valore di news[1]. quindi il problema non è che non legga i valori di news.


  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    19
    Grazie mille mic, allora ecco la domanda di riserva
    come faccio a dire, da dentro onLoad (che si trova sul primo frame della timeline principale)
    che sulla timeline del movieclip m1 al frame 1 il testo del campo dinamico tdina (contenuto in un moviclip m2 annidato in m1) deve valere myData.news1, mentre al frame 50 deve valere myData.news2?

    forse sono stato un pò contorto nella descrizione del problema:

    timeline principale (qui ho messo l'onload)
    -> timeline di m1 (qui ho tanti frame, in alcuni tra questi keyframe devo cambiare valore a tdina=
    ----> m2 (m2 è un movieclip contenuto in m1 e che contiene a sua volta tdina).

    Grazie mille per la pazienza
    Mattia

  4. #4
    Per il caricamento dati dall'esterno puoi leggerti questa guida fondamentale:
    http://flash-mx.html.it/guide/lista_....asp?idguida=9

    Degli articoli della guida ti consiglio vivamente un'attenta lettura del capitolo .DEMISTIFICAZIONE nell'articolo INTRODUZIONE:
    http://flash-mx.html.it/guide/view_l...guida=9&id=194

    Più l'articolo dedicato al metodo loadVars
    http://flash-mx.html.it/guide/view_l...guida=9&id=197

  5. #5
    Quasi sicuramente ti restituisce "undefined" xchè al momento del trace, i dati non sono ancora stati caricati...

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    19
    Ancora grazie,
    però il mio problema è che devo caricare un testo dinamico con valori diversi a seconda del frame in cui mi trovo...
    per questo non riesco a utilizzare le variabili... l'unica cosa che mi viene in mente è mettere due frame di controllo prima degli altri e nel primo controllo che la variabile sia stata caricata (se è caricata vado al terzo), il secondo torna al primo..
    In ogni caso grazie mille a tutti

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641
    allora, non ti assicuro che sia la soluzione migliore, ma al momento a me funziona.

    nell'onload, alla fine di tutto, metti:

    codice:
    if(_root.mc1._currentframe =1){
    	_root.mc1.mc2.txt.text = _root.news[0]
    }
    poi vai dentro al mc1. nel primo frame non metti nulla. vai al 50 e scrivi:

    codice:
    _root.mc1.mc2.txt.text = _root.news[1]
    a me va


  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    19
    Perdonate, ho una domanda semplice semplice ma che forse mi sarà risolutiva:
    se io nella timeline principale definisco
    news= new Array();

    Quando poi voglio richiamare news dentro la timeline di un movieclip posso usare
    _root.news[1] Vero?
    e per sapere se l'array è stato popolato posso dire
    _root.news.length != 0
    Giusto?
    Grazie mille

  9. #9
    Originariamente inviato da tarnesh
    Perdonate, ho una domanda semplice semplice ma che forse mi sarà risolutiva:
    se io nella timeline principale definisco
    news= new Array();

    Quando poi voglio richiamare news dentro la timeline di un movieclip posso usare
    _root.news[1] Vero?
    CERTAMENTE!
    e per sapere se l'array è stato popolato posso dire
    _root.news.length != 0
    Se hai letto attentamente l'articolo su loadVars, dovresti aver capito come si fa per avere la CERTEZZA dell'avvenuto caricamento.
    Giusto?
    Grazie mille

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    19
    Grazie mille a tutti,
    ho risolto.... dentro il movieclip faccio un controllo (con i primi due frame) se le variabili non sono pronte continuo a girare tra i due frame, altrimenti passo all'animazione.
    Grazie mille a tutti
    Mattia

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.