Con ActionScript® potete controllare la linea temporale in fase di runtime. L’uso di ActionScript consente di creare interazione e altre funzionalità nei file FLA che non sono realizzabili solo con la linea temporale.

Con ActionScript® potete controllare la linea temporale in fase di runtime. L’uso di ActionScript consente di creare interazione e altre funzionalità nei file FLA che non sono realizzabili solo con la linea temporale.

Per informazioni sul controllo della linea temporale tramite ActionScript, vedete la discussione relativa alle linee temporali e ActionScript nella Guida sul Web.

Percorsi assoluti

Il percorso assoluto inizia con il nome del livello in cui è caricato il documento e continua nell'elenco di visualizzazione fino a raggiungere l'istanza target. Potete inoltre utilizzare l'alias _root come riferimento alla linea temporale principale del livello corrente. Ad esempio, un'azione nel clip filmato california che si riferisce al clip filmato oregon potrebbe utilizzare il percorso assoluto _root.westCoast.oregon.

Il primo documento da aprire in Flash Player viene caricato sul livello 0. Dovete assegnare a ogni documento aggiuntivo caricato un numero di livello. Quando usate un riferimento assoluto in ActionScript per un documento caricato, utilizzate il formato _levelX, dove la X rappresenta il numero del livello in cui è caricato il documento. Ad esempio, il primo documento aperto in Flash Player è denominato _level0, mentre il documento caricato nel livello 3 è denominato _level3.

Per consentire la comunicazione di documenti in livelli diversi, dovete utilizzare il nome del livello nel percorso target. Il seguente esempio mostra come l'istanza portland identificherebbe l'istanza atlanta situata in un clip filmato denominato georgia (georgia si trova allo stesso livello di oregon):

_level5.georgia.atlanta

Potete usare l'alias _root per fare riferimento alla linea temporale principale del livello corrente. Per la linea temporale principale, l'alias _root sostituisce _level0 quando viene indirizzato da un clip in _level0. Per un documento caricato in _level5, _root è uguale a _level5 quando viene indirizzato da un clip filmato anch'esso di livello 5. Ad esempio, se i clip filmato southcarolina e florida vengono entrambi caricati allo stesso livello, un'azione chiamata dall'istanza southcarolina potrebbe utilizzare il seguente percorso assoluto per identificare l'istanza florida:

_root.eastCoast.florida

Percorsi relativi

Il percorso relativo dipende dalla relazione tra la linea temporale di controllo e la linea temporale target. I percorsi relativi possono indirizzare i target solo all'interno del proprio livello di Flash Player. Ad esempio, non è possibile usare un percorso relativo in un'azione posizionata in _level0 che identifica una linea temporale che si trova in _level5.

In un percorso relativo, utilizzate la parola chiave this come riferimento alla linea temporale corrente nel livello corrente; utilizzate l'alias _parent per indicare la linea temporale principale della linea temporale corrente. Potete utilizzare l'alias _parent più volte per passare al livello superiore nella gerarchia dei clip filmato all'interno dello stesso livello di Flash Player. Ad esempio, _parent._parent controlla un clip filmato più in alto di due livelli nella gerarchia. La linea temporale principale di ciascun livello in Flash Player è l'unica linea temporale con un valore _parent non definito.

Un'azione nella linea temporale dell'istanza charleston, situata un livello sotto southcarolina, potrebbe utilizzare il seguente percorso target per identificare l'istanza southcarolina:

_parent

Per identificare l'istanza eastCoast (un livello sopra) da un'azione in charleston, potete utilizzare il percorso relativo seguente:

_parent._parent

Per identificare l'istanza atlanta da un'azione nella linea temporale di charleston, potete usare il percorso relativo seguente:

_parent._parent.georgia.atlanta

I percorsi relativi sono utili se desiderate usare di nuovo gli script. Ad esempio, potete associare uno script a un clip filmato che ingrandisce il suo elemento principale al 150%, nel modo seguente:

onClipEvent (load) {    _parent._xscale 
= 150;    _parent._yscale = 150; 
}

È quindi possibile riutilizzare lo script associandolo a una qualunque istanza di clip filmato.

Nota:

Flash Lite 1.0 e 1.1 supportano l'associazione degli script solo ai pulsanti. L'associazione degli script ai clip filmato non è supportata.

Indipendentemente dalla scelta di un percorso assoluto o relativo, si identifica una variabile su una linea temporale o la proprietà di un oggetto con un punto (.) seguito dal nome della variabile o della proprietà. Ad esempio, l'istruzione seguente imposta la variabile name nell'istanza form sul valore "Gerardo":

_root.form.name = "Gilbert";

Uso dei percorsi target assoluti e relativi

Potete utilizzare ActionScript per inviare messaggi da una linea temporale a un'altra. La linea temporale che contiene l'azione è chiamata linea temporale di controllo, mentre la linea temporale che riceve l'azione è chiamata linea temporale target. Ad esempio, sull'ultimo fotogramma di una linea temporale potrebbe essere presente un'azione che indica a un'altra linea temporale di iniziare la riproduzione. Come riferimento a una linea temporale target, dovete utilizzare un percorso target, che indica la posizione di un clip filmato nell'elenco di visualizzazione.

Di seguito è riportata la gerarchia di un documento chiamato westCoast al livello 0, che contiene tre clip filmato: california, oregon e washington. Ognuno di questi clip filmato contiene a sua volta due clip filmato.

_level0 
        westCoast 
                california 
                        sanfrancisco 
                        bakersfield 
                oregon 
                        portland 
                        ashland 
                washington 
                        olympia 
                        ellensburg

Come in un server Web, l'indirizzo di ogni linea temporale in Animate può essere definito in due modi: con un percorso assoluto o con un percorso relativo. Il percorso assoluto di un'istanza è un percorso completo a partire dal nome di un livello, indipendentemente dalla linea temporale che chiama l'azione; ad esempio, il percorso assoluto dell'istanza california è _level0.westCoast.california. Il percorso relativo varia a seconda della posizione da cui viene chiamato; ad esempio, il percorso relativo di california chiamato da sanfrancisco è _parent, ma se è chiamato da portland, sarà  _parent._parent.california.

Definire i percorsi target

Per controllare un clip filmato, un file SWF caricato o un pulsante, dovete specificare un percorso target. Potete specificarlo manualmente o utilizzando la finestra di dialogo Inserisci percorso target o creando un'espressione che restituisca un percorso target. Per specificare il percorso target di un clip filmato o di un pulsante, dovete assegnare al clip o al pulsante un nome di istanza. Un documento caricato non richiede un nome di istanza, perché viene utilizzato il numero del suo livello come nome di istanza, ad esempio _level5.

Assegnare un nome di istanza a un clip filmato o a un pulsante

  1. Selezionate un clip filmato o un pulsante sullo stage.
  2. Immettete un nome di istanza nella finestra di ispezione Proprietà.

Definire un percorso target mediante la finestra di dialogo Inserisci percorso target

  1. Selezionate il fotogramma, l'istanza di clip filmato o di pulsante alla quale assegnare l'azione.

    Questa diventa la linea temporale di controllo.

  2. Nel pannello Azioni (Finestra > Azioni), accedete alla casella degli strumenti Azioni a sinistra e selezionate un'azione o un metodo che richieda un percorso target.
  3. Fate clic sulla casella del parametro o sulla posizione nello script in cui desiderate inserire il percorso target.
  4. Fate clic sul pulsante Inserisci percorso target  sopra il riquadro dello script.
  5. Selezionate Assoluto o Relativo come modalità del percorso target.
  6. Selezionate un clip filmato nell'elenco di visualizzazione e fate clic su OK.

Definire un percorso target manualmente

  1. Selezionate il fotogramma, l'istanza di clip filmato o di pulsante alla quale assegnare l'azione.

    Questa diventa la linea temporale di controllo.

  2. Nel pannello Azioni (Finestra > Azioni), accedete alla casella degli strumenti Azioni a sinistra e selezionate un'azione o un metodo che richieda un percorso target.
  3. Fate clic sulla casella del parametro o sulla posizione nello script in cui desiderate inserire il percorso target.
  4. Immettete un percorso target assoluto o relativo nel pannello Azioni.

Usare un'espressione come percorso target

  1. Selezionate il fotogramma, l'istanza di clip filmato o di pulsante alla quale assegnare l'azione.

    Questa diventa la linea temporale di controllo.

  2. Nel pannello Azioni (Finestra > Azioni), accedete alla casella degli strumenti Azioni a sinistra e selezionate un'azione o un metodo che richieda un percorso target.
  3. Effettuate una delle seguenti operazioni:
    • Immettete un'espressione che restituisce un percorso target in una casella di parametro.

    • Fate clic per posizionare il punto di inserimento nello script. Quindi, nella categoria Funzioni della casella degli strumenti Azioni, fate doppio clic sulla funzione targetPath. La funzione targetPath converte un riferimento a un clip filmato in una stringa.

    • Fate clic per posizionare il punto di inserimento nello script. Quindi, nella categoria Funzioni della casella degli strumenti Azioni, selezionate la funzione eval. La funzione eval converte una stringa in un riferimento a un clip filmato che può essere utilizzato per chiamare i metodi come play.

      Lo script seguente assegna il valore 1 alla variabile i, quindi utilizza la funzione eval per creare un riferimento a un'istanza di clip filmato e lo assegna alla variabile x. In tal modo, la variabile x diventa un riferimento a un'istanza di clip filmato e può chiamare i metodi dell'oggetto MovieClip.

      i = 1; x = eval("mc"+i); x.play(); // equivale a mc1.play();

      Potete inoltre utilizzare la funzione eval per chiamare i metodi direttamente, come nell'esempio seguente:

      eval("mc" + i).play();

Questo prodotto è concesso in licenza in base alla licenza di Attribuzione-Non commerciale-Condividi allo stesso modo 3.0 Unported di Creative Commons.  I post su Twitter™ e Facebook non sono coperti dai termini di Creative Commons.

Note legali   |   Informativa sulla privacy online