Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    come passo una variable da un .fla a un .as ?

    Ho un file flash .fla e un file actionscript .as: quando pubblico il file .fla viene compilato e "incluso" anche il file .as. Fin qui tutto Ok.

    Ora, il file .as contiene un codice di questo tipo:

    public var miastringa1:String = "http://miosito.com/pagina1.html"
    public var miastringa2:String = "http://miosito.com/pagina2.html"
    public var miastringa3:String = "http://miosito.com/pagina3.html"

    La domanda è: se nel file flash ho una variabile pippo="alfa" e la voglio passare al file .as come devo fare?
    Cioè se voglio che nel file .as compaia la riga:

    public var miastringa1:String = "http://miosito.com/"+pippo+"pagina1.html"
    public var miastringa2:String = "http://miosito.com/pagina2.html"
    public var miastringa3:String = "http://miosito.com/pagina3.html"

    ??

    (se pubblico il file .fla in questo stato, mi dà un errore)
    Where there is a will, there is a way

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Beh, considerato il codice che hai scritto, immagino che il file .as sia una classe che viene istanziata nel fla, puoi passare il quindi il valore che ti interessa nel costruttore della classe o in una variabile specifica, impostata apposta per accogliere quel valore.
    Conviene che segni la versione di flash player e di AS che stai usando, oltre a specificare se si tratti di una document class (solo AS3) o di una classe istanziata.

  3. #3
    allora:

    1) si, il file .as contiene una classe il contenuto di questo .as è all'incirca così:

    import jwPlaylist;
    import mx.utils.Delegate;
    import flash.external.ExternalInterface;

    class jwMp3player extends MovieClip
    {
    .......
    private var playlistURL:String = "public/staff/playlist.xml";
    .......
    }


    2) nella libreria del file .fla è presente un movieclip che ha un parametro "Linkage": Export: jwMp3player (dovrebbe essere questo che richiama la classe nel file .as)


    3) supponendo che nella root del .fla ho pippo="alfa" cosa devo scrivere nel file .as (nella classe jwMp3player) per richiamare pippo, ad esempio in questo modo:

    private var playlistURL:String = "public/staff/"+pippo+"/playlist.xml";

    ??

    Grazie
    Where there is a will, there is a way

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Ah ok, è un po' diverso in effetti, ma in questo modo dovrebbe essere più facile per te accedere a _root, dove in teoria sono salvate queste variabili che dovresti inviare alla classe. Puoi iniziare provando a fare un trace di "_root" dentro al costruttore della classe e vedere se ti restituisce un errore o il valore corretto.

  5. #5
    Originariamente inviato da and80
    Ah ok, è un po' diverso in effetti, ma in questo modo dovrebbe essere più facile per te accedere a _root, dove in teoria sono salvate queste variabili che dovresti inviare alla classe. Puoi iniziare provando a fare un trace di "_root" dentro al costruttore della classe e vedere se ti restituisce un errore o il valore corretto.
    ...che tradotto in codice sarebbe??

    (P.S: per root intendo dire che nel primo fotogramma del .fla ho, nel codice, pippo="alfa", fuori da qualsiasi movieclip o simili)
    Where there is a will, there is a way

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    trace(_root)

  7. #7
    risultati:

    - inserendo trace(_root) dentro il file .as, fuori dalla classe, restituisce l'errore:

    ActionScript 2.0 class scripts may only define class or interface constructs.

    - inserendo trace(_root) dentro il file .as, dentro la classe, restituisce l'errore:

    This statement is not permitted in a class definition.

    - inserendo trace(_root) dentro il file .fla, nel codice del primo fotogramma, il file viene compilato e pubblicato senza problemi e non compare alcun messaggio di errore.
    Where there is a will, there is a way

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Dovresti metterlo dentro al costruttore della classe, il costruttore è quella funzione che porta lo stesso nome della classe, cioè nel tuo caso dovrebbe essere function jwMp3player ecc....
    Lo devi mettere lì dentro, poi devi essere anche certo del punto in cui sono dichiarate quelle variabili, perchè altrimenti la variabile potrebbe essere irragiungibile e otterresti errore.
    In generale io eviterei proprio di salvare quelle variabili in quel modo nella classe, preferirei passargliele dal fla con un array o una roba simile, ma sarebbe più facile avendo il "componente" a disposizione.

  9. #9
    non ti seguo...

    ma non c'è un modo più semplice per richiamare questa variabile dallo stage alla classe? qualcosa tipo "pippo.stage" ??

    P.S: uso Action Script 2
    Where there is a will, there is a way

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    No, non in maniera così immediata.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.