Action Script 2.0 - Guida Di Riferimento

Embed Size (px)

Citation preview

Guida di riferimento di ActionScript 2.0

Marchi 1 Step RoboPDF, ActiveEdit, ActiveTest, Authorware, Blue Sky Software, Blue Sky, Breeze, Breezo, Captivate, Central, ColdFusion, Contribute, Database Explorer, Director, Dreamweaver, Fireworks, Flash, FlashCast, FlashHelp, Flash Lite, FlashPaper, Flash Video Encoder, Flex, Flex Builder, Fontographer, FreeHand, Generator, HomeSite, JRun, MacRecorder, Macromedia, MXML, RoboEngine, RoboHelp, RoboInfo, RoboPDF, Roundtrip, Roundtrip HTML, Shockwave, SoundEdit, Studio MX, UltraDev e WebHelp sono marchi registrati o marchi di Macromedia, Inc. e possono essere registrati negli Stati Uniti o presso altre giurisdizioni, anche a livello internazionale. Altri nomi di prodotti, logo, disegni, titoli, parole o frasi citati in questa pubblicazione possono essere marchi registrati, marchi di servizio o nomi commerciali di Macromedia, Inc. o di altre societ e possono essere registrati in alcune giurisdizioni, anche a livello internazionale. Informazioni su terze parti Questo manuale contiene collegamenti a siti Web di terze parti che non sono sotto il controllo di Macromedia. Macromedia non potr quindi essere ritenuta responsabile per il contenuto di qualsiasi sito collegato. Qualora si decida di accedere a un sito Web di terze parti menzionato nel presente documento, lo si far sotto la propria completa responsabilit e a proprio rischio. Macromedia fornisce questi collegamenti solo per comodit dell'utente e l'inclusione del collegamento non implica che Macromedia sottoscriva o accetti qualsiasi responsabilit per il contenuto di tali siti di terze parti. Tecnologia per la compressione e la decompressione vocale concessa in licenza da Nellymoser, Inc. (www.nellymoser.com). Tecnologia per la compressione e la decompressione video Sorenson Spark, concessa in licenza da Sorenson Media, Inc. Browser Opera Copyright 1995-2002 di Opera Software ASA e dei suoi fornitori. Tutti i diritti riservati. Il video Macromedia Flash 8 basato sulla tecnologia video On2 TrueMotion. 1992-2005 On2 Technologies, Inc. Tutti i diritti riservati. http://www.on2.com. Mitsubishi Electric Research Laboratory: questo prodotto include software protetto da copyright 2005 di Mitsubishi Electric Research Laboratory Inc. Tutti i diritti riservati. http://www.merl.com. Copyright 2004-2005 Macromedia, Inc. Tutti i diritti riservati. Nessuna parte del presente manuale pu essere copiata, fotocopiata, riprodotta, tradotta o convertita in qualsiasi formato elettronico o meccanico senza la previa autorizzazione scritta di Macromedia, Inc. Nonostante quanto sopra specificato, il proprietario o l'utente autorizzato del software con cui questo manuale stato fornito autorizzato a stampare una copia di questo manuale da una versione elettronica dello stesso con il solo scopo di apprendere l'utilizzo del suddetto software, a condizione che nessuna porzione di questo manuale venga stampata, riprodotta, distribuita, rivenduta o trasmessa per qualsiasi altro scopo, compresi a titolo esemplificativo i fini commerciali quali la vendita di copie di questa documentazione o la fornitura di servizi di assistenza a pagamento. Riconoscimenti Responsabile progetto: JuLee Burdekin Autori principali: Francis Cheng, Robert Dixon, Shimul Rahim Altri autori: Jen deHaan, Thais Derich, Guy Haas, David Jacowitz, Jeff Swartz Sviluppatori degli esempi: Luke Bayes, Francis Cheng, Robert Dixon, Ali Mills, Jeff Swartz Redazione: Linda Adler, Geta Carlson, Evelyn Eldridge, John Hammett, Noreen Maher, Mark Nigara, Lisa Stanziano, Anne Szabla, Jessie Wood Responsabile produzione: Patrice ONeill Produzione e progetto multimediale: Adam Barnett, John Francis, Brett Jarvis, Mario Reynoso Un ringraziamento speciale a: Peter deHaan, Gary Grossman, Lee Thomason e il Flash Player Core Team Prima edizione: Settembre 2005 Macromedia, Inc. 601 Townsend St. San Francisco, CA 94103

Indice

Capitolo 1: Elementi del linguaggio ActionScript. . . . . . . . . . . . . . 31 Direttive per il compilatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Direttiva #endinitclip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Direttiva #include . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Direttiva #initclip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Costanti. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Costante false . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Costante Infinity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 -Costante Infinity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Costante NaN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 Costante newline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 Costante null . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 Costante true . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Costante undefined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Funzioni globali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Funzione Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Protocollo asfunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47 Funzione Boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Funzione call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Funzione chr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Funzione clearInterval. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Funzione duplicateMovieClip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Funzione escape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Funzione eval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Funzione fscommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Funzione getProperty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Funzione getTimer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Funzione getURL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Funzione getVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Funzione gotoAndPlay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Funzione gotoAndStop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Funzione ifFrameLoaded. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Funzione int. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Funzione isFinite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Funzione isNaN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Funzione length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67 Funzione loadMovie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

3

Funzione loadMovieNum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71 Funzione loadVariables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Funzione loadVariablesNum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Funzione mbchr. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Funzione mblength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Funzione mbord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Funzione mbsubstring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Funzione MMExecute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Funzione nextFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Funzione nextScene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Funzione Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Funzione Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Gestore on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Gestore onClipEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Funzione ord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Funzione parseFloat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Funzione parseInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Funzione play. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Funzione prevFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Funzione prevScene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Funzione print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Funzione printAsBitmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Funzione printAsBitmapNum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Funzione printNum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Funzione random . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Funzione removeMovieClip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Funzione setInterval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Funzione setProperty. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Funzione showRedrawRegions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Funzione startDrag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Funzione stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Funzione stopAllSounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Funzione stopDrag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Funzione String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Funzione substring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Funzione targetPath. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110 Funzione tellTarget. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Funzione toggleHighQuality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112 Funzione trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113 Funzione unescape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114 Funzione unloadMovie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114 Funzione unloadMovieNum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115 Funzione updateAfterEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .116 Propriet globali. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 _accProps, propriet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

4

Indice

_focusrect, propriet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122 _global, propriet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123 _highquality, propriet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124 _level, propriet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124 maxscroll, propriet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .125 _parent, propriet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126 _quality, propriet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126 _root, propriet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128 scroll, propriet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129 _soundbuftime, propriet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129 this, propriet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130 Operatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132 + (addizione), operatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 += assegnazione addizione, operatore . . . . . . . . . . . . . . . . . . . . . . . .138 [] (accesso array), operatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .139 = (assegnazione), operatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .142 & (AND bit a bit), operatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143 &= (assegnazione AND bit a bit), operatore. . . . . . . . . . . . . . . . . . . .144 >= (spostamento a destra bit a bit e assegnazione), operatore . . .152 >>> (spostamento a destra bit a bit senza segno), operatore . . . . . .153 >>>= (spostamento a destra bit a bit senza segno e assegnazione), operatore. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155 ^ (XOR bit a bit), operatore. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155 ^= (assegnazione XOR bit a bit), operatore . . . . . . . . . . . . . . . . . . . . 157 /*..*/ (delimitatore commenti), operatore . . . . . . . . . . . . . . . . . . . . . .158 , (virgola), operatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159 add (concatenazione) (stringhe), operatore. . . . . . . . . . . . . . . . . . . .160 ?: operatore condizionale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 -- (decremento), operatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162 / (divisione), operatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163 /= (assegnazione divisione), operatore . . . . . . . . . . . . . . . . . . . . . . . .163 . (punto), operatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164 == (uguaglianza), operatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165 eq (uguaglianza) (stringhe), operatore . . . . . . . . . . . . . . . . . . . . . . . . 167 > (maggiore di), operatore. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 gt (maggiore di) (stringhe), operatore . . . . . . . . . . . . . . . . . . . . . . . . .168 >= (maggiore o uguale a), operatore . . . . . . . . . . . . . . . . . . . . . . . . . . .169 ge (maggiore o uguale a) (stringhe), operatore . . . . . . . . . . . . . . . . .169 ++ (incremento), operatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

Indice

5

!= (diseguaglianza), operatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 (diseguaglianza), operatore. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 istanza di, operatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 < (minore di), operatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 lt (minore di) (stringhe), operatore. . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Esegui comando. Tuttavia, possibile utilizzare questa funzione in uno script ActionScript per chiamare direttamente un comando JSAPI. Se si utilizza MMExecute() in uno script del fotogramma 1 del file, il comando viene eseguito quando viene caricato il file SWF. Per ulteriori informazioni su JSAPI, vedere www.macromedia.com/go/jsapi_info_en. Disponibilit: Flash Player 7; ActionScript 1.0 Parametricommand:String

- Qualunque comando che possibile utilizzare in un file Flash JavaScript

(JSFL). Valori restituitiString - Una rappresentazione sotto forma di stringa dell'eventuale risultato, inviato dall'istruzione JavaScript.

Funzioni globali

79

Esempio Il comando seguente invia alla finestra di traccia il numero di elementi presenti nella library del documento corrente. necessario eseguire questo esempio sotto forma di pannello di Flash poich i file di Flash non possono chiamare MMExecute se vengono eseguiti in una prova filmato o nel browser.

Collocare il codice seguente nel fotogramma 1 della linea temporale principale di un documento Flash vuoto:var numLibItems = MMExecute("fl.getDocumentDOM().library.items.length"); var message = numLibItems + " items in library"; MMExecute('fl.trace("' + message + '");');

Salvare il file FLA nella directory WindowSWF presente nella directory Configuration, quindi selezionare File > Pubblica (in alternativa, salvare il file altrove e pubblicare il file SWF nella directory scelta oppure spostare il file SWF nella directory scelta). Chiudere e riavviare l'applicazione (questa operazione necessaria la prima volta che si aggiunge il file alla directory WindowSWF).

A questo punto possibile selezionare il file nella parte inferiore del menu Finestra > Altri pannelli. La funzione trace di ActionScript non funziona se viene eseguita da un pannello di Flash; questo esempio utilizza la versione JavaScript fl.trace. Pu risultare pi semplice copiare il risultato di MMExecute in un campo di testo che fa parte del file nel pannello di Flash.

Funzione nextFramenextFrame() : Void

Invia l'indicatore di riproduzione al fotogramma successivo. Disponibilit: Flash Player 2; ActionScript 1.0

80

Capitolo 1: Elementi del linguaggio ActionScript

Esempio Nell'esempio seguente, quando l'utente preme il tasto freccia destra o sinistra, l'indicatore di riproduzione si sposta al fotogramma successivo e si arresta. Se l'utente preme il tasto freccia su o gi, l'indicatore di riproduzione si sposta al fotogramma precedente e si arresta. Il listener viene inizializzato affinch attenda la pressione del tasto freccia, e viene utilizzata la variabile init per impedire che il listener venga ridefinito se l'indicatore di riproduzione ritorna al fotogramma 1.stop(); if (init == undefined) { someListener = new Object(); someListener.onKeyDown = function() { if (Key.isDown(Key.LEFT) || Key.isDown(Key.UP)) { _level0.prevFrame(); } else if (Key.isDown(Key.RIGHT) || Key.isDown(Key.DOWN)) { _level0.nextFrame(); } }; Key.addListener(someListener); init = 1; }

Vedere ancheFunzione prevFrame

Funzione nextScenenextScene() : Void

Invia l'indicatore di riproduzione al fotogramma 1 della scena successiva. Disponibilit: Flash Player 2; ActionScript 1.0 Esempio Nell'esempio seguente, quando l'utente fa clic sul pulsante creato in fase di runtime, l'indicatore di riproduzione viene inviato al fotogramma 1 della scena successiva. Creare due scene, quindi immettere il codice ActionScript seguente nel fotogramma 1 della scena 1.stop(); if (init == undefined) { this.createEmptyMovieClip("nextscene_mc", this.getNextHighestDepth()); nextscene_mc.createTextField("nextscene_txt", this.getNextHighestDepth(), 200, 0, 100, 22);

Funzioni globali

81

nextscene_mc.nextscene_txt.autoSize = true; nextscene_mc.nextscene_txt.border = true; nextscene_mc.nextscene_txt.text = "Next Scene"; this.createEmptyMovieClip("prevscene_mc", this.getNextHighestDepth()); prevscene_mc.createTextField("prevscene_txt", this.getNextHighestDepth(), 00, 0, 100, 22); prevscene_mc.prevscene_txt.autoSize = true; prevscene_mc.prevscene_txt.border = true; prevscene_mc.prevscene_txt.text = "Prev Scene"; nextscene_mc.onRelease = function() { nextScene(); }; prevscene_mc.onRelease = function() { prevScene(); }; init = true; }

Assicurarsi di specificare l'azione stop() per il fotogramma 1 della scena. Vedere ancheFunzione prevScene

Funzione NumberNumber(expression) : Number

Converte il parametro expression in numero e restituisce un valore come descritto nell'elenco seguente:

Se expression un numero, viene restituito il valore expression. Se expression un valore booleano, viene restituito il valore 1 se expression true oppure 0 se expression false. Se expression una stringa, la funzione cerca di analizzare expression come numero decimale con un esponente finale opzionale; vale a dire 1.57505e-3. Se expression NaN, viene restituito il valore NaN.

82

Capitolo 1: Elementi del linguaggio ActionScript

Se expression undefined, viene restituito il seguente valore: - Nei file pubblicati in Flash Player 6 o versioni precedenti, il risultato 0. - Nei file pubblicati in Flash Player 7 o versioni successive, il risultato NaN.

Disponibilit: Flash Player 4; ActionScript 1.0 Parametriexpression:Object

- Espressione che consente di convertire in un numero. I numeri o le stringhe che iniziano con 0x vengono interpretati come valori esadecimali. I numeri o le stringhe che iniziano con 0 vengono interpretati come valori ottali. Valori restituiti

Number

- Un numero o NaN (not a number).

Esempio Nell'esempio seguente, viene creato un campo di testo sullo stage in fase di runtime:this.createTextField("counter_txt", this.getNextHighestDepth(), 0, 0, 100, 22); counter_txt.autoSize = true; counter_txt.text = 0; function incrementInterval():Void { var counter:Number = counter_txt.text; // Without the Number() function, Flash would concatenate the value instead // of adding values. You could also use "counter_txt.text++;" counter_txt.text = Number(counter) + 1; } var intervalID:Number = setInterval(incrementInterval, 1000);

Vedere ancheCostante NaN, Number, Funzione parseInt, Funzione parseFloat

Funzione ObjectObject([value:Object]) : Object

Crea un nuovo oggetto vuoto o converte in oggetto il numero, la stringa o il valore booleano specificati. Questo comando equivale alla creazione di un oggetto mediante la funzione di costruzione dell'oggetto (vedere "Funzione di costruzione per la classe Object"). Disponibilit: Flash Player 5; ActionScript 1.0

Funzioni globali

83

Parametrivalue:Object

[opzionale] - Un numero, una stringa o un valore booleano.

Valori restituitiObject

- Un oggetto.

Esempio Nell'esempio seguente viene creato un nuovo oggetto vuoto, che viene successivamente compilato con dei valori:var company:Object = new Object(); company.name = "Macromedia, Inc."; company.address = "600 Townsend Street"; company.city = "San Francisco"; company.state = "CA"; company.postal = "94103"; for (var i in company) { trace("company."+i+" = "+company[i]); }

Vedere ancheOggetto

Gestore onon(mouseEvent:Object) {

// your statements here}

Specifica l'evento associato al mouse o la pressione di un tasto che attiva un'azione. Disponibilit: Flash Player 2; ActionScript 1.0 ParametrimouseEvent:Object

- Un mouseEvent un trigger chiamato evento . Quando si verifica l'evento, vengono eseguite le istruzioni che lo seguono racchiuse tra parentesi graffe ({ }). Per il parametro mouseEvent possono essere specificati i valori seguenti:press

Il pulsante del mouse viene premuto quando il puntatore si trova sopra il pulsante. Il pulsante del mouse viene rilasciato quando il puntatore si trova sopra il

release

pulsante.

84

Capitolo 1: Elementi del linguaggio ActionScript

Quando il puntatore si trova sopra il pulsante, il pulsante del mouse viene premuto, quindi, il puntatore esce dall'area del pulsante poco prima che questo venga rilasciato. Gli eventi press e dragOut precedono sempre un evento releaseOutside.releaseOutside rollOut

Il puntatore esce dall'area del pulsante. Il puntatore del mouse scorre sopra il pulsante.

rollOver dragOut

Quando il puntatore si trova sopra il pulsante, il pulsante del mouse viene premuto, quindi il puntatore esce dall'area del pulsante. Quando il puntatore si trova sopra il pulsante, il pulsante del mouse viene premuto, il puntatore esce dall'area del pulsante, quindi torna sopra il pulsante. " Viene premuto il tasto specificato. Per la porzione key del parametro, specificare una costante della classe key, come indicato nei suggerimenti sul codice del pannello Azioni. possibile utilizzare questo parametro per intercettare la pressione di un tasto, vale a dire per ignorare qualsiasi comportamento incorporato relativo al tasto specificato. Il pulsante pu trovarsi in qualsiasi punto dell'applicazione, nello stage o fuori dallo stage. L'unica limitazione a questa tecnica il fatto che non possibile applicare il gestore on() in fase di runtime; questa operazione va eseguita in fase di creazione. Selezionare sempre Controllo > Disattiva scelte rapide da tastiera. In caso contrario, i tasti con comportamento incorporato non vengono ignorati quando si esegue una verifica dell'applicazione mediante il comando Controllo > Prova filmato.

dragOver

keyPress "< key >

Per un elenco delle costanti key, vedere la classe Key. Esempio Nello script seguente la funzione startDrag() viene eseguita quando si preme il pulsante del mouse, e viene eseguito lo script condizionale quando si rilascia il pulsante del mouse e l'oggetto viene rilasciato:on (press) { startDrag(this); } on (release) { trace("X:"+this._x); trace("Y:"+this._y); stopDrag(); }

Vedere ancheGestore onClipEvent, Key

Funzioni globali

85

Gestore onClipEventonClipEvent(movieEvent:Object) {

// your statements here}

Attiva le azioni definite per un'istanza specifica di un clip filmato. Disponibilit: Flash Player 5; ActionScript 1.0 ParametrimovieEvent:Object - movieEvent un trigger chiamato evento . Quando si verifica l'evento,

vengono eseguite le istruzioni che lo seguono racchiuse tra parentesi graffe ({ }). Per il parametro movieEvent possono essere specificati i valori seguenti:

load

L'azione viene avviata nel momento in cui viene creata l'istanza del clip filmato e questo appare nella linea temporale.

L'azione viene avviata nel primo fotogramma dopo che il clip filmato stato rimosso dalla linea temporale. Le azioni associate all'evento Unload del clip filmato vengono elaborate prima che qualsiasi azione venga associata al fotogramma interessato.unload enterFrame L'azione viene attivata in modo continuo alla stessa frequenza dei fotogrammi del clip filmato. Le azioni associate all'evento enterFrame del clip filmato vengono elaborate prima che qualsiasi azione fotogramma venga associata ai fotogrammi interessati. mouseMove

L'azione viene avviata ogni volta che il mouse viene spostato. Utilizzare le

propriet_xmouse

e _ymouse per determinare la posizione del mouse. L'azione viene avviata quando si preme il pulsante sinistro del mouse. viene avviata quando si rilascia il pulsante sinistro del mouse.

mouseDown

mouseUpL'azione keyDown

L'azione viene avviata quando si preme un tasto. Utilizzare Key.getCode() per recuperare le informazioni sull'ultimo tasto premuto. L'azione viene avviata quando si rilascia un tasto. Utilizzare il metodo per recuperare le informazioni sull'ultimo tasto premuto.

keyUp

Key.getCode()

data

L'azione viene avviata quando l'azione loadVariables() o loadMovie() riceve i dati. Quando viene specificato con un'azione loadVariables(), l'evento data si verifica una sola volta, al momento del caricamento dell'ultima variabile. Quando viene specificato mediante un'azioneloadMovie(), l'evento data si verifica ripetutamente a ogni sezione di dati recuperata.

86

Capitolo 1: Elementi del linguaggio ActionScript

Esempio L'esempio seguente utilizza onClipEvent() con l'evento di filmato keyDown ed progettato per essere associato a un clip filmato o a un pulsante. L'evento di filmatokeyDown viene generalmente utilizzato con uno o pi metodi e propriet dell'oggetto Key. Lo script seguente utilizza Key.getCode() per identificare il tasto premuto dall'utente; se il tasto premuto corrisponde alla propriet Key.RIGHT, l'indicatore di riproduzione viene inviato al fotogramma successivo; se il tasto premuto corrisponde alla propriet Key.LEFT, l'indicatore di riproduzione viene inviato al fotogramma precedente.onClipEvent (keyDown) { if (Key.getCode() == Key.RIGHT) { this._parent.nextFrame(); } else if (Key.getCode() == Key.LEFT) { this._parent.prevFrame(); } }

Il seguente esempio utilizza onClipEvent() con gli eventi di filmato load e mouseMove. Le propriet _xmouse e _ymouse rilevano la posizione del mouse ogni volta che quest'ultimo viene spostato, e la visualizzano nel campo di testo che stato creato in fase di runtime.onClipEvent (load) { this.createTextField("coords_txt", this.getNextHighestDepth(), 0, 0, 100, 22); coords_txt.autoSize = true; coords_txt.selectable = false; } onClipEvent (mouseMove) { coords_txt.text = "X:"+_root._xmouse+",Y:"+_root._ymouse; }

Vedere ancheKey, _xmouse (propriet MovieClip._xmouse), _ymouse (propriet MovieClip._ymouse), Gestore on, Funzione updateAfterEvent

Funzione ordord(character:String) : Number

Sconsigliata a partire da Flash Player 5. Questa funzione stata sostituita dai metodi e dalle propriet della classe String. Converte i caratteri in numeri di codice ASCII. Disponibilit: Flash Player 4; ActionScript 1.0

Funzioni globali

87

Parametricharacter:String

- Il carattere da convertire in numero di codice ASCII.

Valori restituitiNumber

- Il numero di codice ASCII del carattere specificato.

Vedere ancheStringa, charCodeAt (metodo String.charCodeAt)

Funzione parseFloatparseFloat(string:String) : Number

Converte una stringa in un numero a virgola mobile. La funzione legge, o analizza, e restituisce i numeri in una stringa finch non trova un carattere che non fa parte del numero iniziale. Se la stringa non inizia con un numero che pu essere analizzato, parseFloat() restituisce NaN. Lo spazio bianco che precede i numeri interi validi viene ignorato, allo stesso modo dei caratteri non numerici finali. Disponibilit: Flash Player 5; ActionScript 1.0 Parametristring:String

- La stringa da leggere e convertire in numero a virgola mobile.

Valori restituitiNumber

- Un numero o NaN (not a number).

Esempio Gli esempi seguenti utilizzano la funzione parseFloat() per valutare vari tipi di numero:trace(parseFloat("-2")); // output: -2 trace(parseFloat("2.5")); // output: 2.5 trace(parseFloat(" 2.5")); // output: 2.5 trace(parseFloat("3.5e6")); // output: 3500000 trace(parseFloat("foobar")); // output: NaN trace(parseFloat("3.75math")); // output: 3.75 trace(parseFloat("0garbage")); // output: 0

Vedere ancheCostante NaN, Funzione parseInt

88

Capitolo 1: Elementi del linguaggio ActionScript

Funzione parseIntparseInt(expression:String, [radix:Number]) : Number

Converte una stringa in un numero intero. Se la stringa specificata nei parametri non pu essere convertita in numero, la funzione restituisce NaN. Le stringhe che iniziano con 0x vengono interpretate come numeri esadecimali. I numeri interi che iniziano con 0 o che specificano una radice di 8 vengono interpretati come numeri ottali. Lo spazio bianco che precede i numeri interi validi viene ignorato, allo stesso modo dei caratteri non numerici finali. Disponibilit: Flash Player 5; ActionScript 1.0 Parametriexpression:String

- Una stringa da convertire in numero intero.

radix:Number [opzionale] - Un numero intero che rappresenta la radice (base) del numero da

analizzare. I valori accettabili sono quelli compresi tra 2 e 36. Valori restituitiNumber

- Un numero o NaN (not a number).

Esempio Gli esempi in questa sezione utilizzano la funzione parseInt() per valutare vari tipi di numeri. L'esempio seguente restituisce 3:parseInt("3.5")

L'esempio seguente restituisce NaN:parseInt("bar")

L'esempio seguente restituisce 4:parseInt("4foo")

L'esempio seguente mostra una conversione esadecimale che restituisce 1016:parseInt("0x3F8")

L'esempio seguente mostra una conversione esadecimale che utilizza il parametro opzionale radix e che restituisce 1000:parseInt("3E8", 16)

L'esempio seguente mostra una conversione binaria e restituisce 10, che la rappresentazione decimale del valore binario 1010:parseInt("1010", 2)

Funzioni globali

89

L'esempio seguente mostra l'analisi sintattica di un numero ottale e restituisce 511, che la rappresentazione decimale del valore ottale 777:parseInt("0777") parseInt("777", 8)

Vedere anche , Funzione parseFloat

Funzione playplay() : Void

Sposta l'indicatore di riproduzione pi avanti nella linea temporale. Disponibilit: Flash Player 2; ActionScript 1.0 Esempio Nell'esempio seguente, le due istanze di clip filmato stop_mc e play_mc sono presenti nello stage. Il codice ActionScript interrompe la riproduzione del file SWF quando si fa clic sull'istanza di clip filmato stop_mc. La riproduzione viene riavviata quando si fa clic sull'istanza play_mc.this.stop_mc.onRelease = function() { stop(); }; this.play_mc.onRelease = function() { play(); }; trace("frame 1");

Vedere ancheFunzione gotoAndPlay, gotoAndPlay (metodo MovieClip.gotoAndPlay)

Funzione prevFrameprevFrame() : Void

Invia l'indicatore di riproduzione al fotogramma precedente. Se il fotogramma corrente il fotogramma 1, l'indicatore di riproduzione non si sposta. Disponibilit: Flash Player 2; ActionScript 1.0

90

Capitolo 1: Elementi del linguaggio ActionScript

Esempio Quando l'utente fa clic sul pulsante myBtn_btn e per tale pulsante viene collocato il codice ActionScript seguente su un fotogramma nella linea temporale, l'indicatore di riproduzione viene inviato al fotogramma precedente:stop(); this.myBtn_btn.onRelease = function(){ prevFrame(); };

Vedere ancheFunzione nextFrame, prevFrame (metodo MovieClip.prevFrame)

Funzione prevSceneprevScene() : Void

Invia l'indicatore di riproduzione al fotogramma 1 della scena precedente. Disponibilit: Flash Player 2; ActionScript 1.0 Vedere ancheFunzione nextScene

Funzione printprint(target:Object, boundingBox:String) : Void

Stampa il clip filmato target in base ai limiti specificati nel parametro (bmovie, bmax o bframe). Se si desidera stampare fotogrammi specifici del clip filmato target, associare un'etichetta di fotogramma #p ai fotogrammi in questione. Le stampe ottenute mediante la funzione print() sono di qualit superiore rispetto a quelle ottenute mediante printAsBitmap() tuttavia, print() non pu essere utilizzata per la stampa di clip filmato che utilizzano trasparenze alfa o effetti di colore speciali. Se si utilizza bmovie per il parametro boundingBox ma non si assegna un'etichetta #b a un fotogramma, l'area di stampa viene determinata in base alle dimensioni sullo stage del clip filmato caricato. (Il clip filmato caricato non eredita le dimensioni dello stage del clip filmato principale.) Tutti gli elementi stampabili di un clip filmato devono essere stati caricati completamente affinch possa iniziare la stampa.

Funzioni globali

91

La funzione di stampa di Flash Player supporta le stampanti PostScript e non PostScript. Le stampanti non PostScript convertono la grafica vettoriale in bitmap. Disponibilit: Flash Player 4; ActionScript 1.0 Parametri - Il nome dell'istanza di un clip filmato da stampare. Per impostazione predefinita, possono essere stampati tutti i fotogrammi presenti nell'istanza target. Se si desidera stampare fotogrammi specifici del clip filmato, assegnare un'etichetta di fotogramma #p ai fotogrammi in questione.target:Object

- Modificatore che imposta l'area di stampa del clip filmato. Racchiudere questo parametro tra virgolette (" o ') e specificare uno dei seguenti valori:boundingBox:String

bmovie

Definisce il riquadro di delimitazione di un fotogramma specifico di un clip filmato come area di stampa per tutti i fotogrammi stampabili del clip filmato. Assegnare un'etichetta #b al fotogramma il cui riquadro di delimitazione deve essere utilizzato come area di stampa.

bmax Definisce come

area di stampa una combinazione di tutti i riquadri di delimitazione di tutti i fotogrammi stampabili. Specificare il parametro bmax quando i fotogrammi stampabili del clip filmato hanno dimensioni differenti.

Indica che il riquadro di delimitazione di ciascun fotogramma stampabile dovrebbe essere utilizzato come area di stampa per quel fotogramma, vale a dire, che l'area di stampa cambia per ogni fotogramma e gli oggetti vengono modificati in scala in modo da adattarsi all'area di stampa. Utilizzare bframe se si hanno oggetti di dimensioni diverse e si desidera che ogni oggetto riempia la pagina stampata.bframe

Esempio L'esempio seguente stampa tutti i fotogrammi stampabili in holder_mc con un'area di stampa definita dal riquadro di delimitazione di ciascun fotogramma:this.createEmptyMovieClip("holder_mc", 999); holder_mc.loadMovie("http://www.helpexamples.com/flash/images/image1.jpg"); this.myBtn_btn.onRelease = function() { print(this._parent.holder_mc, "bframe"); };

Nel codice ActionScript precedente possibile sostituire bframe con bmovie per fare in modo che l'area di stampa sia definita dal riquadro di delimitazione di un fotogramma a cui sia associata l'etichetta #b.

92

Capitolo 1: Elementi del linguaggio ActionScript

Vedere ancheFunzione printAsBitmap, Funzione printAsBitmapNum, PrintJob, Funzione printNum

Funzione printAsBitmapprintAsBitmap(target:Object, boundingBox:String) : Void

Stampa il clip filmato target come immagine bitmap in base ai limiti specificati nel parametro (bmovie, bmax o bframe). Utilizzare printAsBitmap() per stampare i clip filmato contenenti fotogrammi con oggetti che utilizzano trasparenze o effetti di colore. L'azione printAsBitmap() stampa alla risoluzione pi alta disponibile sulla stampante, in modo da ottenere definizione e qualit ottimali. Se il clip filmato non contiene trasparenze alfa o effetti di colore, Macromedia consiglia di utilizzare la funzione print() al fine di ottenere stampe di qualit migliore. Se si utilizza bmovie per il parametro boundingBox ma non si assegna un'etichetta #b a un fotogramma, l'area di stampa viene determinata in base alle dimensioni sullo stage del clip filmato caricato. (Il clip filmato caricato non eredita le dimensioni dello stage del clip filmato principale.) Tutti gli elementi stampabili di un clip filmato devono essere stati caricati completamente affinch possa iniziare la stampa. La funzione di stampa di Flash Player supporta le stampanti PostScript e non PostScript. Le stampanti non PostScript convertono la grafica vettoriale in bitmap. Disponibilit: Flash Player 4; ActionScript 1.0 Parametritarget:Object

- Il nome dell'istanza del clip filmato da stampare. Per impostazione predefinita possono essere stampati tutti i fotogrammi presenti nel clip filmato. Se si desidera stampare fotogrammi specifici del clip filmato, assegnare un'etichetta di fotogramma #p ai fotogrammi in questione.

boundingBox:String - Modificatore che imposta l'area di stampa del clip filmato. Racchiudere questo parametro tra virgolette (" o ') e specificare uno dei seguenti valori:

bmovie

Definisce il riquadro di delimitazione di un fotogramma specifico di un clip filmato come area di stampa per tutti i fotogrammi stampabili del clip filmato. Assegnare un'etichetta #b al fotogramma il cui riquadro di delimitazione deve essere utilizzato come area di stampa.

Funzioni globali

93

bmax Definisce come

area di stampa una combinazione di tutti i riquadri di delimitazione di tutti i fotogrammi stampabili. Specificare il parametro bmax quando i fotogrammi stampabili del clip filmato hanno dimensioni differenti.

bframe Indica che il riquadro di delimitazione di ogni fotogramma stampabile deve essere utilizzato come area di stampa per il fotogramma stesso. Questo parametro modifica l'area di stampa di ogni fotogramma e ridimensiona gli oggetti in modo da adattarli all'area di stampa. Utilizzare bframe se si hanno oggetti di dimensioni diverse e si desidera che ogni oggetto riempia la pagina stampata.

Esempio L'esempio seguente stampa tutti i fotogrammi stampabili in holder_mc con un'area di stampa definita dal riquadro di delimitazione del fotogramma:this.createEmptyMovieClip("holder_mc", 999); holder_mc.loadMovie("http://www.helpexamples.com/flash/images/image1.jpg"); this.myBtn_btn.onRelease = function() { printAsBitmap(this._parent.holder_mc, "bframe"); };

Vedere ancheFunzione print, Funzione printAsBitmapNum, Funzione printNum, PrintJob

Funzione printAsBitmapNumprintAsBitmapNum(level:Number, boundingBox:String) : Void

Stampa un livello di FlashPlayer come immagine bitmap in base ai limiti specificati nel parametro (bmovie, bmax o bframe). Utilizzare printAsBitmapNum() per stampare i clip filmato contenenti fotogrammi con oggetti che utilizzano trasparenze o effetti di colore. L'azione printAsBitmapNum() stampa alla risoluzione pi alta disponibile sulla stampante, in modo da mantenere definizione e qualit ottimali. Per calcolare le dimensioni del file stampabile di un fotogramma designato per la stampa come bitmap, moltiplicare la larghezza in pixel per l'altezza in pixel per la risoluzione della stampante. Se il clip filmato non contiene trasparenze alfa o effetti di colore, l'uso di printNum() consente di ottenere stampe di qualit migliore.

94

Capitolo 1: Elementi del linguaggio ActionScript

Se si utilizza bmovie per il parametro boundingBox ma non si assegna un'etichetta #b a un fotogramma, l'area di stampa viene determinata in base alle dimensioni sullo stage del clip filmato caricato. (Il clip filmato caricato non eredita le dimensioni dello stage del filmato principale.) Tutti gli elementi stampabili di un clip filmato devono essere stati caricati completamente affinch possa iniziare la stampa. La funzione di stampa di Flash Player supporta le stampanti PostScript e non PostScript. Le stampanti non PostScript convertono la grafica vettoriale in bitmap. Disponibilit: Flash Player 5; ActionScript 1.0 Parametrilevel:Number

- Il livello di Flash Player da stampare. Per impostazione predefinita possono essere stampati tutti i fotogrammi presenti nel livello. Se si desidera stampare fotogrammi specifici del livello, assegnare un'etichetta di fotogramma #p ai fotogrammi in questione.

boundingBox:String - Modificatore che imposta l'area di stampa del clip filmato. Racchiudere questo parametro tra virgolette (" o ') e specificare uno dei seguenti valori:

bmovie

Definisce il riquadro di delimitazione di un fotogramma specifico di un clip filmato come area di stampa per tutti i fotogrammi stampabili del clip filmato. Assegnare un'etichetta #b al fotogramma il cui riquadro di delimitazione deve essere utilizzato come area di stampa.

bmax Definisce come

area di stampa una combinazione di tutti i riquadri di delimitazione di tutti i fotogrammi stampabili. Specificare il parametro bmax quando i fotogrammi stampabili del clip filmato hanno dimensioni differenti.

bframe Indica che il riquadro di delimitazione di ogni fotogramma stampabile deve essere utilizzato come area di stampa per il fotogramma stesso. Questo parametro modifica l'area di stampa di ogni fotogramma e ridimensiona gli oggetti in modo da adattarli all'area di stampa. Utilizzare bframe se si hanno oggetti di dimensioni diverse e si desidera che ogni oggetto riempia la pagina stampata.

Esempio L'esempio seguente stampa il contenuto dello stage quando l'utente fa clic sul pulsante myBtn_btn. L'area da stampare definita dal riquadro di delimitazione del fotogramma.myBtn_btn.onRelease = function(){ printAsBitmapNum(0, "bframe") };

Funzioni globali

95

Vedere ancheFunzione print, Funzione printAsBitmap, PrintJob, Funzione printNum

Funzione printNumprintNum(level:Number, boundingBox:String) : Void

Stampa il livello in Flash Player in base ai limiti specificati nel parametro boundingBox (bmovie, bmax, bframe). Se si desidera stampare fotogrammi specifici del clip filmato target, associare un'etichetta di fotogramma #p ai fotogrammi in questione. L'uso di printNum() consente di ottenere stampe di qualit migliore rispetto a quelle prodotte mediante printAsBitmapNum(), tuttavia, non possibile utilizzare printNum() per stampare filmati con trasparenze alfa o effetti di colore speciali. Se si utilizza bmovie per il parametro boundingBox ma non si assegna un'etichetta #b a un fotogramma, l'area di stampa viene determinata in base alle dimensioni sullo stage del clip filmato caricato. (Il clip filmato caricato non eredita le dimensioni dello stage del filmato principale.) Tutti gli elementi stampabili di un clip filmato devono essere stati caricati completamente affinch possa iniziare la stampa. La funzione di stampa di Flash Player supporta le stampanti PostScript e non PostScript. Le stampanti non PostScript convertono la grafica vettoriale in bitmap. Disponibilit: Flash Player 5; ActionScript 1.0 Parametrilevel:Number

- Il livello di Flash Player da stampare. Per impostazione predefinita possono essere stampati tutti i fotogrammi presenti nel livello. Se si desidera stampare fotogrammi specifici del livello, assegnare un'etichetta di fotogramma #p ai fotogrammi in questione.

boundingBox:String - Modificatore che imposta l'area di stampa del clip filmato. Racchiudere questo parametro tra virgolette (" o ') e specificare uno dei seguenti valori:

bmovie

Definisce il riquadro di delimitazione di un fotogramma specifico di un clip filmato come area di stampa per tutti i fotogrammi stampabili del clip filmato. Assegnare un'etichetta #b al fotogramma il cui riquadro di delimitazione deve essere utilizzato come area di stampa.

bmax Definisce come

area di stampa una combinazione di tutti i riquadri di delimitazione di tutti i fotogrammi stampabili. Specificare il parametro bmax quando i fotogrammi stampabili del clip filmato hanno dimensioni differenti.

96

Capitolo 1: Elementi del linguaggio ActionScript

bframe Indica che il riquadro di delimitazione di ogni fotogramma stampabile deve essere

utilizzato come area di stampa per il fotogramma stesso. Questo parametro modifica l'area di stampa di ogni fotogramma e ridimensiona gli oggetti in modo da adattarli all'area di stampa. Utilizzare bframe se si hanno oggetti di dimensioni diverse e si desidera che ogni oggetto riempia la pagina stampata. Vedere ancheFunzione print, Funzione printAsBitmap, Funzione printAsBitmapNum, PrintJob

Funzione randomrandom(value:Number) : Number

Sconsigliata a partire da Flash Player 5. Questa funzione stata sostituita da Math.random(). Restituisce un numero intero casuale compreso tra 0 e un valore inferiore al numero intero specificato nel parametro value. Disponibilit: Flash Player 4; ActionScript 1.0 Parametrivalue:Number

- Un numero intero.

Valori restituitiNumber

- Un numero intero casuale.

Esempio L'utilizzo seguente di random() restituisce il valore 0, 1, 2, 3 o 4: random(5); Vedere ancherandom (metodo Math.random)

Funzioni globali

97

Funzione removeMovieClipremoveMovieClip(target:Object)

Elimina il clip filmato specificato. Disponibilit: Flash Player 4; ActionScript 1.0 Parametri - Il percorso di destinazione di un'istanza di clip filmato creata con o il nome dell'istanza di un clip filmato creata con MovieClip.attachMovie(), MovieClip.duplicateMovieClip() o MovieClip.createEmptyMovieClip().target:Object duplicateMovieClip()

Esempio L'esempio seguente crea un nuovo clip filmato di nome myClip_mc e duplica il clip filmato. Al secondo filmato viene assegnato il nome newClip_mc. Le immagini vengono caricate in entrambi i clip filmato. Quando viene premuto il pulsante button_mc, il clip filmato duplicato viene rimosso dallo stage.this.createEmptyMovieClip("myClip_mc", this.getNextHighestDepth()); myClip_mc.loadMovie("http://www.helpexamples.com/flash/images/image1.jpg"); duplicateMovieClip(this.myClip_mc, "newClip_mc", this.getNextHighestDepth()); newClip_mc.loadMovie("http://www.helpexamples.com/flash/images/ image1.jpg"); newClip_mc._x = 200; this.button_mc.onRelease = function() { removeMovieClip(this._parent.newClip_mc); };

Vedere ancheFunzione duplicateMovieClip, duplicateMovieClip (metodo MovieClip.duplicateMovieClip), attachMovie (metodo MovieClip.attachMovie), removeMovieClip (metodo MovieClip.removeMovieClip), createEmptyMovieClip (metodo MovieClip.createEmptyMovieClip)

98

Capitolo 1: Elementi del linguaggio ActionScript

Funzione setIntervalinterval:Number, [param1:Object, param2, ..., paramN]) : Number setInterval(objectReference:Object, methodName:String, interval:Number, [param1:Object, param2, ..., paramN]) : Number Chiama una funzione, un metodo di un oggetto a intervalli regolari durante la riproduzione di un file SWF. possibile utilizzare setInterval() per eseguire qualsiasi funzione ripetutamente nel tempo. Utilizzare i seguenti suggerimenti con setInterval():

setInterval(functionReference:Function,

Identificare l'area di validit della funzione richiamata. Identificare l'area di validit in cui stato impostato l'ID intervallo (il valore restituito da setInterval()). Cancellare gli intervalli impostati in precedenza prima di crearne di nuovi.

Questi suggerimenti sono analizzati in dettaglio nei paragrafi che seguono. Identificare l'area di validit della funzione richiamata. Per identificare l'area di validit della funzione richiamata, passare l'oggetto in cui il metodo setInterval() pu essere eseguito (area di validit oggetto) come primo parametro e il nome del metodo da eseguire come secondo parametro (come mostrato nella seconda firma). Ci verificare che il metodo desiderato venga eseguito dall'area di validit del riferimento oggetto passato. Se il metodo viene eseguito in questo modo, pu fare riferimento a variabili membro dell'oggetto tramite la parola chiave this. Identificare l'area di validit in cui stato impostato l'identificatore dell'intervallo. Per identificare l'area di validit in cui stato impostato l'identificatore dell'intervallo (intervalId), possibile assegnarlo a una variabile membro dell'area di validit dell'oggetto passata a setInterval(). In questo modo la funzione richiamata in grado di identificare l'identificatore intervallo in this.intervalId. Cancellare gli intervalli impostati in precedenza. Per cancellare gli intervalli impostati in precedenza prima di crearne di nuovi, generalmente consigliabile chiamare clearInterval() prima di setInterval(). Ci evita che si sovrascriva o si danneggi la variabile intervalId, che l'unico riferimento all'intervallo correntemente in esecuzione. Per chiamare clearInterval() prima di setInterval(), necessario che gli script di avvio e in esecuzione abbiano accesso a intervalId, come mostrano gli esempi. Nota: accertarsi di richiamare clearInterval() per arrestare la ripetizione ciclica dello script. Disponibilit: Flash Player 6; ActionScript 1.0

Funzioni globali

99

ParametrifunctionReference:Function interval:Number

- Un riferimento alla funzione da richiamare.

functionReference

- L'intervallo in millisecondi tra le chiamate alla funzione o methodName passata.

Se interval inferiore alla frequenza dei fotogrammi del file SWF (ad esempio, 10 fotogrammi al secondo [fps] uguale a 100 millisecondi), la funzione interval viene chiamata nel punto pi vicino a interval possibile. L'esecuzione di script lunghi che richiedono molte risorse di memoria durante un intervallo provoca ritardi. Se la funzione richiamata apporta una modifica agli elementi visivi, necessario usare la funzione updateAfterEvent() per verificare che lo schermo venga aggiornato frequentemente. Se interval superiore alla frequenza dei fotogrammi del file SWF, la funzione interval viene richiamata solo dopo la scadenza di interval e dopo che l'indicatore di riproduzione entrato nel fotogramma successivo per minimizzare l'impatto durante ogni aggiornamento dello schermo. [opzionale] - Parametri passati alla funzione inviata a functionReference o methodName. Nel caso di pi parametri, separarli mediante virgole: param1 , param2 , ...,param:Object paramN objectReference:Object methodName:String objectReference.

- Un oggetto che contiene il metodo specificato da methodName.

- Un metodo che esiste nell'area di validit dell'oggetto specificato da

Valori restituitiNumber clearInterval()

- Un numero intero che identifica l'intervallo (ID intervallo) che possibile passare a per cancellare l'intervallo.

Esempio Esempio 1: il seguente esempio traccia il messaggio ad intervalli di 20 millisecondi, fino a 10 volte, quindi cancella l'intervallo. L'area di validit dell'oggetto, this, viene passata come primo parametro e il nome dell'oggetto executeCallback come secondo. Ci assicura che executeCallback() venga eseguito dalla stessa area di validit dello script di chiamata.var var var var intervalId:Number; count:Number = 0; maxCount:Number = 10; duration:Number = 20;

function executeCallback():Void { trace("executeCallback intervalId: " + intervalId + " count: " + count); if(count >= maxCount) { clearInterval(intervalId);

100

Capitolo 1: Elementi del linguaggio ActionScript

} count++; } intervalId = setInterval(this, "executeCallback", duration);

Esempio 2: il seguente esempio simile al primo, eccetto per il fatto che chiamaclearInterval() prima di setInterval(). Ci pu essere utile per evitare cicli indesiderati

ed particolarmente importante nei sistemi basati sugli eventi perch consente di eseguire lo script di avvio pi volte prima della cancellazione di un intervallo specifico.var var var var intervalId:Number; count:Number = 0; maxCount:Number = 10; duration:Number = 20;

function executeCallback():Void { trace("executeCallback intervalId: " + intervalId + " count: " + count); if(count >= maxCount) { clearInterval(intervalId); } count++; } function beginInterval():Void { if(intervalId != null) { trace("clearInterval"); clearInterval(intervalId); } intervalId = setInterval(this, "executeCallback", duration); } beginInterval(); beginInterval(); beginInterval();

Esempio 3: il seguente esempio mostra come passare un argomento personalizzato alla funzione chiamata.var intervalId:Number; var count:Number = 0; var maxCount:Number = 10; var duration:Number = 20; var colors:Array = new Array("red", "blue", "yellow", "purple",

Funzioni globali

101

"green", "orange", "salmon", "pink", "lilac", "powder blue", "mint"); function executeCallback(param:String) { trace("executeCallback intervalId: " + intervalId + " count: " + count + " param: " + param); clearInterval(intervalId); if(count < maxCount) { count++; intervalId = setInterval(this, "executeCallback", duration, colors[count]); } } if(intervalId != null) { clearInterval(intervalId); } intervalId = setInterval(this, "executeCallback", duration, colors[count]);

Esempio 4: il seguente esempio mostra come usare setInterval() correttamente da una classe personalizzata di ActionScript 2.0. In questo caso, al pari degli esempi precedenti, this viene passato alla funzione setInterval() per fare in modo che il metodo venga chiamato nell'area di validit corretta.class CustomClass { private var intervalId:Number; private var count:Number = 0; private var maxCount:Number = 10; private var duration:Number = 20; public function CustomClass():Void { beginInterval(); } private function beginInterval():Void { if(intervalId != null) { trace("clearInterval"); clearInterval(intervalId); } intervalId = setInterval(this, "executeCallback", duration); }

102

Capitolo 1: Elementi del linguaggio ActionScript

public function executeCallback():Void { trace("executeCallback intervalId: " + intervalId + " count: " + count); if(count >= maxCount) { clearInterval(intervalId); } count++; } }

In un nuovo documento, creare una nuova istanza per la nuova classe:var custom:CustomClass = new CustomClass();

Vedere ancheFunzione clearInterval, Funzione updateAfterEvent, classe, istruzione

Funzione setPropertysetProperty(target:Object, property:Object, expression:Object) : Void

Modifica un valore di propriet di un clip filmato durante la riproduzione del clip filmato. Disponibilit: Flash Player 4; ActionScript 1.0 Parametritarget:Object

- Il percorso del nome dell'istanza del clip filmato di cui si sta impostando la - La propriet da impostare.

propriet.property:Object expression:Object

- Il nuovo valore letterale della propriet o un'equazione che restituisce il nuovo valore della propriet.

Funzioni globali

103

Esempio Il codice ActionScript seguente crea un nuovo clip filmato e vi carica un'immagine. Le coordinate _x e _y per il clip vengono impostate con setProperty(). Quando si seleziona il pulsante right_btn, la coordinata _x del clip filmato di nome params_mc viene incrementata di 20 pixel.this.createEmptyMovieClip("params_mc", 999); params_mc.loadMovie("http://www.helpexamples.com/flash/images/image1.jpg"); setProperty(this.params_mc, _y, 20); setProperty(this.params_mc, _x, 20); this.right_btn.onRelease = function() { setProperty(params_mc, _x, getProperty(params_mc, _x)+20); };

Vedere ancheFunzione getProperty

Funzione showRedrawRegionsshowRedrawRegions(enable:Boolean, [color:Number]) : Void

Permette alla funzione debug di Player di mostrare le aree dello schermo che verranno ricreate (ovvero le aree sporche aggiornate). I contorni possono essere attivati anche tramite la voce di menu Mostra aree di ridisegno. Disponibilit: Flash Player 8; ActionScript 1.0 Parametrienable:Boolean

- Specifica se abilitare (true) o disabilitare (false) le aree di ridisegno. Se impostato su true, i rettangoli di ridisegno sono visibili. Se impostato su false, i rettangoli di ridisegno vengono cancellati. [opzionale] - Il colore da usare per il disegno. Il valore predefinito rosso:

color:Number

0xFF0000. Esempio Il seguente esempio mostra come usare la funzione showRedrawRegions.var w:Number = 100; var h:Number = 100; var shape1:MovieClip = createShape("shape1"); shape1.onEnterFrame = function():Void { this._x += 5; this._y += 5;

104

Capitolo 1: Elementi del linguaggio ActionScript

} var shape2:MovieClip = createShape("shape2"); shape2.onEnterFrame = function():Void { this._y += 5; } _global.showRedrawRegions(true); function createShape(name:String):MovieClip { var mc:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); mc.beginFill(0xFFCC00); mc.moveTo(200, 200); mc.curveTo(300, 200, 300, 100); mc.curveTo(300, 0, 200, 0); mc.curveTo(100, 0, 100, 100); mc.curveTo(100, 200, 200, 200); mc.endFill(); return mc; }

Funzione startDragstartDrag(target:Object, [lock:Boolean, left:Number, top:Number, right:Number, bottom:Number]) : Void

Rende trascinabile il clip filmato target durante la riproduzione del filmato. possibile trascinare solo un clip filmato alla volta. Dopo l'esecuzione di un'operazione startDrag(), il clip filmato rimane trascinabile finch non viene esplicitamente arrestato da stopDrag() oppure finch non viene chiamata un'azione startDrag() per un altro clip filmato. Disponibilit: Flash Player 4; ActionScript 1.0 Parametritarget:Object lock:Boolean

- Il percorso target del clip filmato da trascinare.

[opzionale] - Valore booleano che specifica che il clip filmato trascinabile bloccato al centro della posizione del mouse (true ) oppure bloccato nel punto in cui l'utente aveva fatto clic sul clip filmato la prima volta (false ).

left,top,right,bottom:Number [opzionale] - Valori relativi alle coordinate del clip filmato principale, che indicano un rettangolo di delimitazione per il clip filmato.

Funzioni globali

105

Esempio L'esempio seguente crea in fase di runtime il clip filmato pic_mc, che pu essere trascinato da un utente in qualsiasi posizione associando le azioni startDrag() e stopDrag() al clip filmato. Un'immagine viene caricata in pic_mc mediante la classe MovieClipLoader.var pic_mcl:MovieClipLoader = new MovieClipLoader(); pic_mcl.loadClip("http://www.helpexamples.com/flash/images/image1.jpg", this.createEmptyMovieClip("pic_mc", this.getNextHighestDepth())); var listenerObject:Object = new Object(); listenerObject.onLoadInit = function(target_mc) { target_mc.onPress = function() { startDrag(this); }; target_mc.onRelease = function() { stopDrag(); }; }; pic_mcl.addListener(listenerObject);

Vedere ancheFunzione stopDrag, _droptarget (propriet MovieClip._droptarget), startDrag (metodo MovieClip.startDrag)

Funzione stopstop() : Void

Arresta il file SWF in corso di riproduzione. Questa azione viene comunemente utilizzata per controllare i clip filmato mediante i pulsanti. Disponibilit: Flash Player 2; ActionScript 1.0 Vedere ancheFunzione gotoAndStop, gotoAndStop (metodo MovieClip.gotoAndStop)

Funzione stopAllSoundsstopAllSounds() : Void

Interrompe tutti i suoni attualmente riprodotti in un file SWF senza arrestare l'indicatore di riproduzione. La riproduzione dei suoni impostati per la ripetizione riprende quando l'indicatore di riproduzione arriva nei fotogrammi in cui si trovano tali suoni. Disponibilit: Flash Player 3; ActionScript 1.0

106

Capitolo 1: Elementi del linguaggio ActionScript

Esempio Il codice seguente crea un campo di testo che visualizza le informazioni ID3 del brano. Viene creata una nuova istanza di oggetto Sound e il file MP3 viene caricato nel file SWF. Le informazioni ID3 vengono estratte dal file audio. Quando l'utente seleziona stop_mc, la riproduzione dell'audio viene messa in pausa Quando l'utente seleziona play_mc,, la riproduzione del brano riprende dal punto in cui era stata messa in pausa.this.createTextField("songinfo_txt", this.getNextHighestDepth, 0, 0, Stage.width, 22); var bg_sound:Sound = new Sound(); bg_sound.loadSound("yourSong.mp3", true); bg_sound.onID3 = function() { songinfo_txt.text = "(" + this.id3.artist + ") " + this.id3.album + " - " + this.id3.track + " - " + this.id3.songname; for (prop in this.id3) { trace(prop+" = "+this.id3[prop]); } trace("ID3 loaded."); }; this.play_mc.onRelease = function() { /* get the current offset. if you stop all sounds and click the play button, the MP3 continues from where it was stopped, instead of restarting from the beginning. */ var numSecondsOffset:Number = (bg_sound.position/1000); bg_sound.start(numSecondsOffset); }; this.stop_mc.onRelease = function() { stopAllSounds(); };

Vedere ancheAudio

Funzioni globali

107

Funzione stopDragstopDrag() : Void

Interrompe l'operazione di trascinamento corrente. Disponibilit: Flash Player 4; ActionScript 1.0 Esempio Il codice seguente, collocato nella linea temporale principale, interrompe l'azione di trascinamento eseguita sull'istanza di clip filmato my_mc quando l'utente rilascia il pulsante del mouse:my_mc.onPress = function () { startDrag(this); } my_mc.onRelease = function() { stopDrag(); }

Vedere ancheFunzione startDrag, _droptarget (propriet MovieClip._droptarget), startDrag (metodo MovieClip.startDrag), stopDrag (metodo MovieClip.stopDrag)

Funzione StringString(expression:Object) : String

Restituisce una rappresentazione sotto forma di stringa del parametro specificato, come descritto nell'elenco seguente:

Se expression un numero, la stringa restituita una rappresentazione sotto forma di testo del numero. Se expression una stringa, la stringa restituita expression. Se expression un oggetto, il valore restituito una rappresentazione sotto forma di stringa dell'oggetto generato chiamando la propriet stringa dell'oggetto o chiamando Object.toString() se questa propriet non esiste. Se expression un valore booleano, la stringa restituita "true" oppure "false". Se expression un clip filmato, il valore restituito il percorso target del clip filmato mediante notazione a barra (/).

108

Capitolo 1: Elementi del linguaggio ActionScript

Se expression undefined, vengono restituiti i seguenti valori:

Nei file pubblicati per Flash Player 6 e versione precedente, il valore una stringa vuota (""). Nei file pubblicati per Flash Player 7 e versione successiva, il risultato undefined undefined.

Nota: la notazione a barra non supportata in ActionScript 2.0. Disponibilit: Flash Player 4; ActionScript 1.0 Parametriexpression:Object

- Espressione che consente di convertire in stringa.

Valori restituitiString

- Una stringa.

Esempio Nell'esempio seguente, il codice ActionScript viene utilizzato per convertire in stringa le espressioni specificate:var string1:String = String("3"); var string2:String = String("9"); trace(string1+string2); // output: 39

Dal momento che entrambi i parametri sono costituiti da stringhe, i valori non vengono aggiunti bens concatenati. Vedere anchetoString (metodo Number.toString), toString (metodo Object.toString), Stringa, " (delimitatore di stringa), operatore

Funzione substringsubstring(string:String, index:Number, count:Number) : String

Sconsigliata a partire da Flash Player 5. Questa funzione stata sostituita da String.substr(). Estrae parte di una stringa. Questa funzione con base uno, mentre i metodi dell'oggetto String sono con base zero. Disponibilit: Flash Player 4; ActionScript 1.0

Funzioni globali

109

Parametristring:String index:Number count:Number

- La stringa da cui estrarre la nuova stringa.

- Il numero del primo carattere da estrarre. - Il numero di caratteri da includere nella stringa estratta, escluso il carattere

index. Valori restituitiString

- La sottostringa estratta.

Vedere anchesubstr (metodo String.substr)

Funzione targetPathtargetpath(targetObject:Object) : String

Restituisce una stringa che contiene il percorso target di un oggetto MovieClip, Button, TextField o Videoobject. Il percorso target viene restituito mediante notazione del punto (.); per recuperare il percorso target sotto forma di notazione a barra (/), utilizzare la propriet _target. Disponibilit: Flash Player 5; ActionScript 1.0 ParametritargetObject:Object - Un riferimento (ad esempio _root o _parent ) all'oggetto del quale

si sta recuperano il percorso target. Pu essere un oggetto MovieClip, Button o TextField. Valori restituitiString

- Una stringa contenente il percorso target del clip filmato specificato.

Esempio Nell'esempio seguente viene tracciato il percorso di destinazione di un clip filmato non appena viene caricato:this.createEmptyMovieClip("myClip_mc", this.getNextHighestDepth()); trace(targetPath(myClip_mc)); // _level0.myClip_mc

Vedere ancheFunzione eval

110

Capitolo 1: Elementi del linguaggio ActionScript

Funzione tellTargettellTarget(target:String) {

statement(s);}

Sconsigliata a partire da Flash Player 5. Macromedia consiglia di usare la notazione del punto (.) e l'istruzione with. Applica le istruzioni specificate nel parametro statements alla linea temporale specificata nel parametro target. L'azione tellTarget utile per i controlli di navigazione. Assegnare tellTarget ai pulsanti che arrestano o avviano i clip filmato in qualche altro punto dello stage. Inoltre, possibile fare in modo che i clip filmato si spostino a un fotogramma particolare del clip. Ad esempio possibile assegnare tellTarget a pulsanti che arrestano o avviano clip filmato sullo stage o che richiedano ai clip filmato di passare a un fotogramma particolare.tellTarget.

In Flash 5 o versioni successive, possibile utilizzare la notazione (.) anzich l'azione possibile utilizzare l'azione with per eseguire pi azioni sulla stessa linea temporale. possibile utilizzare l'azione with in modo che venga applicata a qualunque oggetto, mentre l'azione tellTarget pu essere applicata solo ai clip filmato. Disponibilit: Flash Player 3; ActionScript 1.0 Parametri

target:String - Una stringa che specifica il percorso di destinazione della linea temporale da

controllare.statement(s)

- Le istruzioni da eseguire se la condizione restituisce true.

Esempio Questa istruzione tellTarget controlla l'istanza di clip filmato denominata ball sulla linea temporale principale. Il fotogramma 1 dell'istanza di ball vuoto e su di esso presente un'azione stop() in modo che non sia visibile sullo stage. Quando si fa clic sul pulsante con l'azione seguente, tellTarget indica all'indicatore di riproduzione presente in ball di passare al fotogramma 2, che il punto in cui inizia l'animazione:on(release) { tellTarget("_parent.ball") { gotoAndPlay(2); } }

Funzioni globali

111

L'esempio seguente utilizza la notazione del punto (.) per ottenere lo stesso risultato:on(release) { _parent.ball.gotoAndPlay(2); }

Se necessario eseguire pi comandi per l'istanza di ball, possibile utilizzare l'azione with, come mostrato nell'istruzione seguente:on(release) { with(_parent.ball) { gotoAndPlay(2); _alpha = 15; _xscale = 50; _yscale = 50; } }

Vedere anchewith (istruzione)

Funzione toggleHighQualitytoggleHighQuality()

Sconsigliata a partire da Flash Player 5. Questa funzione stata sostituita da _quality. Attiva e disattiva l'antialiasing in Flash Player. L'antialiasing smussa i bordi degli oggetti e rallenta la riproduzione dei file SWF. L'azione agisce su tutti i file SWF in Flash Player. Disponibilit: Flash Player 2; ActionScript 1.0 Esempio Ad esempio, il codice seguente pu essere applicato a un pulsante che, una volta premuto, attiva e disattiva l'antialiasing:on(release) { toggleHighQuality(); }

Vedere anche , _quality, propriet

112

Capitolo 1: Elementi del linguaggio ActionScript

Funzione tracetrace(expression:Object)

possibile usare la funzione debug di Flash Player per acquisire l'output dalla funzione trace() e visualizzare il risultato. Utilizzare questa istruzione per registrare le note di programmazione o visualizzare i messaggi nel pannello Output durante la prova di un file SWF. Utilizzare il parametro expression per verificare l'esistenza di una condizione o per visualizzare i valori nel pannello Output. L'istruzione trace() simile alla funzione alert di JavaScript. Il comando Ometti azioni Trace nella finestra di dialogo Impostazioni pubblicazione consente di rimuovere le azioni trace() dal file SWF esportato. Disponibilit: Flash Player 4; ActionScript 1.0 Parametri - Un'espressione da valutare. Quando un file SWF viene aperto nello strumento di creazione Flash (mediante il comando Prova filmato), il valore del parametro expression viene visualizzato nel pannello Output.expression:Object

Esempio L'esempio seguente utilizza un'istruzione trace() per visualizzare nel pannello Output i metodi e le propriet del campo di testo error_txt che stato creato dinamicamente:this.createTextField("error_txt", this.getNextHighestDepth(), 0, 0, 100, 22); for (var i in error_txt) { trace("error_txt."+i+" = "+error_txt[i]); } /* output: error_txt.styleSheet = undefined error_txt.mouseWheelEnabled = true error_txt.condenseWhite = false ... error_txt.maxscroll = 1 error_txt.scroll = 1 */

Funzioni globali

113

Funzione unescapeunescape(string:String) : String

Valuta il parametro x come stringa, decodifica la stringa dal formato URL (convertendo tutte le sequenze esadecimali in caratteri ASCII) e restituisce la stringa. Disponibilit: Flash Player 5; ActionScript 1.0 Parametristring:String

- Una stringa con sequenze esadecimali da decodificare mediante escape.

Valori restituitiString

- Una stringa decodificata di un parametro in formato URL.

Esempio L'esempio seguente mostra il processo di conversione da escape a unescape:var email:String = "[email protected]"; trace(email); var escapedEmail:String = escape(email); trace(escapedEmail); var unescapedEmail:String = unescape(escapedEmail); trace(unescapedEmail);

Il risultato seguente viene visualizzato nel pannello [email protected] user%40somedomain%2Ecom [email protected]

Funzione unloadMovieunloadMovie(target:MovieClip) : Void unloadMovie(target:String) : Void

Rimuove un clip filmato caricato mediante loadMovie() da Flash Player. Per scaricare un clip filmato caricato tramite loadMovieNum(), usare unloadMovieNum() anzich unloadMovie(). Disponibilit: Flash Player 3; ActionScript 1.0

114

Capitolo 1: Elementi del linguaggio ActionScript

Parametritarget:Object

- Il percorso target di un clip filmato. Questo parametro pu essere una stringa (ad esempio, "my_mc") oppure un riferimento diretto all'istanza del clip filmato (ad esempio, my_mc). I parametri che possono accettare pi tipi di dati vengono indicati con il tipo Object.

Esempio L'esempio seguente crea un nuovo clip filmato di nome pic_mc e carica un'immagine nel clip. Viene caricato mediante la classe MovieClipLoader. Quando si fa clic sull'immagine, il clip filmato viene scaricato dal file SWF:var pic_mcl:MovieClipLoader = new MovieClipLoader(); pic_mcl.loadClip("http://www.helpexamples.com/flash/images/image1.jpg", this.createEmptyMovieClip("pic_mc", this.getNextHighestDepth())); var listenerObject:Object = new Object(); listenerObject.onLoadInit = function(target_mc) { target_mc.onRelease = function() { unloadMovie(pic_mc); /* or you could use the following, which refers to the movie clip referenced by 'target_mc'. */ //unloadMovie(this); }; }; pic_mcl.addListener(listenerObject);

Vedere ancheloadMovie (metodo MovieClip.loadMovie), unloadClip (metodo MovieClipLoader.unloadClip)

Funzione unloadMovieNumunloadMovieNum(level:Number) : Void

Rimuove un file SWF o un'immagine caricati da Flash Player mediante loadMovieNum(). Per scaricare un file SWF o un'immagine caricata tramite MovieClip.loadMovie(), utilizzare unloadMovie() anzich unloadMovieNum(). Disponibilit: Flash Player 3; ActionScript 1.0 Parametrilevel:Number

- Il livello (_level N ) di un filmato caricato.

Funzioni globali

115

Esempio L'esempio seguente carica un'immagine in un file SWF. Quando si seleziona unload_btn, il contenuto caricato viene rimossoloadMovieNum("yourimage.jpg", 1); unload_btn.onRelease = function() { unloadMovieNum(1); }

Vedere ancheFunzione loadMovieNum, Funzione unloadMovie, loadMovie (metodo MovieClip.loadMovie)

Funzione updateAfterEventupdateAfterEvent() : Void

Aggiorna il display (indipendentemente dai fotogrammi per secondo impostati per il filmato) quando viene chiamata all'interno di un gestore onClipEvent() o come parte di una funzione o di un metodo trasmessi a setInterval(). Flash ignora le chiamate a updateAfterEvent che non si trovano all'interno di un gestore onClipEvent() o che non fanno parte di una funzione o metodo passati a setInterval(). Questa funzione pu essere utilizzata soltanto con alcuni gestori Mouse e MovieClip: i gestori mouseDown, mouseUp, mouseMove, keyDown e keyUp per la classe Mouse, e i gestori onMouseMove, onMouseDown, onMouseUp, onKeyDown e onKeyUp per la classe MovieClip. Non funziona invece con la classe Key. Disponibilit: Flash Player 5; ActionScript 1.0 Esempio L'esempio seguente mostra come creare un cursore personalizzato di nome cursor_mc. ActionScript viene utilizzato per sostituire il cursore del mouse con cursor_mc. A questo punto updateAfterEvent() viene utilizzato per aggiornare continuamente lo stage al fine di attenuare il movimento del cursore.Mouse.hide(); cursor_mc.onMouseMove = function() { this._x = this._parent._xmouse; this._y = this._parent._ymouse; updateAfterEvent(); };

116

Capitolo 1: Elementi del linguaggio ActionScript

Vedere ancheGestore onClipEvent, Funzione setInterval

Propriet globaliLe propriet globali sono disponibili in tutti gli script e visibili a tutte le linee temporali e aree di validit del documento. Ad esempio, le propriet globali consentono l'accesso alle linee temporali di altri clip filmato caricati, sia relative (_parent) che assolute (_root). Inoltre, consentono di ridurre (this) o espandere (super) l'area di validit. possibile utilizzare le propriet globali per modificare le impostazioni di runtime quali l'accessibilit da parte degli screen reader, la qualit di riproduzione e le dimensioni del buffer audio. Riepilogo delle propriet globaliModificatori Propriet_accProps

DescrizioneConsente di controllare le opzioni di accessibilit degli screen reader per i file SWF, i clip filmato, i pulsanti, i campi di testo dinamico e i campi di input in fase di runtime. Propriet (globale); specifica se un rettangolo giallo viene visualizzato attorno al pulsante o al clip filmato che viene attivato mediante tastiera. Un riferimento all'oggetto globale che contiene le classi ActionScript principali, quali String, Object, Math e Array. Sconsigliata a partire da Flash Player 5: questa propriet stata sconsigliata a favore di _quality. Specifica il livello di antialiasing applicato al file SWF corrente. Un riferimento alla linea temporale principale di _level N. Sconsigliata a partire da Flash Player 5: questa propriet stata sconsigliata a favore di TextField.maxscroll. Indica il numero della prima riga in alto del testo visibile all'interno di un campo di testo in cui visibile anche l'ultima riga in basso. Specifica o restituisce un riferimento al clip filmato o all'oggetto che contiene il clip filmato o l'oggetto corrente.

_focusrect

_global

_highquality

_level

maxscroll

_parent

Propriet globali

117

Modificatori

Propriet_quality

DescrizioneImposta o recupera la qualit di rendering utilizzata per un clip filmato. Specifica o restituisce un riferimento alla linea temporale principale del clip filmato. Sconsigliata a partire da Flash Player 5: questa propriet stata sconsigliata a favore di TextField.scroll. Controlla la visualizzazione delle informazioni in un campo di testo associato ad una variabile. Stabilisce il numero di secondi dell'audio in streaming da inserire nel buffer. Fa riferimento ad un oggetto o all'istanza di un clip filmato.

_root

scroll

_soundbuftime

this

_accProps, propriet_accProps.propertyName instanceName._accProps.propertyName Consente di controllare le opzioni di accessibilit degli screen reader per i file SWF, i clip filmato, i pulsanti, i campi di testo dinamico e i campi di input in fase di runtime. Queste propriet hanno priorit sulle impostazioni corrispondenti disponibili nel pannello Accessibilit in fase di creazione. Perch le modifiche apportate a queste propriet abbiano effetto, necessario chiamare Accessibility.updateProperties().

Per informazioni sul pannello Accessibilit, vedere "Pannello Accessibilit di Flash" in Uso di Flash. Per determinare se il lettore viene eseguito in un ambiente che supporta strumenti di accessibilit, utilizzare il metodo System.capabilities.hasAccessibility().

118

Capitolo 1: Elementi del linguaggio ActionScript

L'elenco seguente mostra il nome e il tipo di dati di ogni propriet _accProps, l'impostazione equivalente nel pannello Accessibilit e i tipi di oggetti a cui possibile applicare la propriet. La definizione logica inversa significa che l'impostazione della propriet il contrario dell'impostazione corrispondente nel pannello Accessibilit. Ad esempio, impostare la propriet silent su true equivale a deselezionare l'opzione Rendi accessibile il filmato o l'opzione Rendi accessibili gli oggetti.Propriet Tipi di dati Equivalente nel pannello AccessibilitRendi accessibile il filmato/Rendi accessibili gli oggetti (logica inversa) Rendi accessibili gli oggetti secondari (logica inversa) Nome

Si applica a

silent

Booleano

File SWF interi Clip filmato Pulsanti Testo dinamico Testo di input File SWF interi Clip filmato File SWF interi Clip filmato Pulsanti Testo di input File SWF interi Clip filmato Pulsanti Testo dinamico Testo di input Clip filmato Pulsanti Testo di input

forceSimple

Booleano

name

Stringa

description

Stringa

Descrizione

shortcut

Stringa

Tasto di scelta rapida

Per il campo Tasto di scelta rapida, utilizzare nomi sotto forma di Control+A. L'aggiunta di un tasto di scelta rapida al pannello Accessibilit non crea effettivamente un tasto di scelta rapida, semplicemente informa gli screen reader dell'esistenza di un tasto di questo tipo. Per informazioni sull'assegnazione di un tasto di scelta rapida ad un oggetto accessibile, vedere Key.addListener(). Per specificare le impostazioni corrispondenti all'impostazione dell'indice di tabulazione nel pannello Accessibilit, utilizzare le propriet Button.tabIndex, MovieClip.tabIndex o TextField.tabIndex. Non possibile specificare un'impostazione Etichetta automatica in fase di runtime.

Propriet globali

119

Per fare riferimento all'oggetto _accProps che rappresenta il documento Flash intero, omettere il parametro instanceName. Il valore di _accProps deve essere un oggetto; quindi, se non esiste gi un oggetto _accProps, necessario crearne uno, come mostra l'esempio seguente, prima di poter assegnare valori alle propriet dell'oggetto _accProps:if ( _accProps == undefined ) { _accProps = new Object(); } _accProps.name = "My SWF file";

Quando si utilizza _accProps senza il parametro instanceName, le modifiche apportate alle propriet _accProps si applicano al file SWF intero. Ad esempio, il codice seguente imposta la propriet di Accessibilit name per tutto il file SWF alla stringa "Pet Store", quindi chiama Accessibility.updateProperties() in modo che venga apportato il cambiamento:_accProps.name = "Pet Store"; Accessibility.updateProperties();

Al contrario, il codice seguente imposta la propriet name di un clip filmato con il nome dell'istanza price_mc sulla stringa "Price":price_mc._accProps.name = "Price"; Accessibility.updateProperties();

Se si stanno specificando diverse propriet di accessibilit, apportare il maggior numero di modifiche possibili prima di chiamare Accessibility.updateProperties(), invece di chiamarla dopo le singole istruzioni di propriet, come descritto nell'esempio seguente:_accProps.name = "Pet Store"; animal_mc._accProps.name = "Animal"; animal_mc._accProps.description = "Cat, dog, fish, etc."; price_mc._accProps.name = "Price"; price_mc._accProps.description = "Cost of a single item"; Accessibility.updateProperties();

Se non si specifica una propriet di accessibilit per un documento o un oggetto, vengono implementati i valori impostati nel pannello Accessibilit.

120

Capitolo 1: Elementi del linguaggio ActionScript

Dopo che stata specificata una propriet di accessibilit, il suo valore non pu essere ripristinato su un valore impostato nel pannello Accessibilit. Tuttavia, possibile impostare la propriet sul suo valore predefinito (false per i valori booleani, stringhe vuote per i valori stringa) eliminando la propriet dall'oggetto _accProps, come illustrato nell'esempio seguente:my_mc._accProps.silent = true; // set a property // other code here delete my_mc._accProps.silent; // revert to default value

Il valore di _accProps deve essere un oggetto; quindi, se non esiste gi un oggetto _accProps, necessario crearne uno prima di poter assegnare indicazioni alle propriet dell'oggetto _accProps:if (_accProps == undefined) { _accProps = new Object(); } _accProps.name = "My movie";

Disponibilit: Flash Player 6,0,65,0; ActionScript 1.0 ParametripropertyName:Boolean or String

- Il nome di una propriet di accessibilit (vedere la

descrizione per i nomi validi). instanceNameinstanceName:String - Il nome assegnato ad un'istanza di un clip filmato, pulsante, campo di testo dinamico o campo di testo di input. Per fare riferimento all'oggetto _accProps che rappresenta l'intero documento Flash, omettere instanceName.

Esempio Se si modifica un'immagine e si desidera aggiornarne la descrizione dell'accessibilit, possibile utilizzare il codice ActionScript seguente:my_mc.gotoAndStop(2); if (my_mc._accProps == undefined ) { my_mc._accProps = new Object(); } my_mc._accProps.name = "Photo of Mount Rushmore"; Accessibility.updateProperties();

Vedere ancheisActive (metodo Accessibility.isActive), updateProperties (metodo Accessibility.updateProperties), hasAccessibility (propriet capabilities.hasAccessibility)

Propriet globali

121

_focusrect, propriet_focusrect = Boolean;

Specifica se attorno al pulsante o al clip filmato che viene attivato mediante tastiera viene visualizzato un rettangolo giallo. Se _focusrect impostata sul valore predefinito true, un rettangolo giallo viene visualizzato attorno al pulsante o clip filmato corrente nel momento in cui l'utente preme il tasto di tabulazione per passare da un oggetto all'altro in un file SWF. Specificare false per fare in modo che il rettangolo giallo non venga visualizzato. Questa una propriet globale che pu essere ignorata nel caso di istanze specifiche. Se la propriet _focusrect globale impostata su false, il comportamento predefinito per tutti i pulsanti e i clip filmato prevede che la navigazione mediante tastiera sia limitata al tasto Tab. Tutti gli altri tasti vengono ignorati, compresi Invio e i tasti freccia. Per ripristinare la navigazione mediante tutta la tastiera, necessario impostare _focusrect su true. Per ripristinare la completa funzionalit da tastiera per un pulsante o un clip filmato specifico, possibile ignorare questa propriet globale mediante Button._focusrect oppure MovieClip._focusrect. Nota: se si utilizza un componente, FocusManager ha la priorit sulla gestione dell'attivazione di Flash Player, anche nel caso di questa propriet globale. Disponibilit: Flash Player 4; ActionScript 1.0 Esempio L'esempio seguente mostra come nascondere il rettangolo giallo attorno a tutte le istanze di un file SWF quando queste sono state attivate mediante tastiera in una finestra del browser. Creare alcuni pulsanti o clip filmato e aggiungere il codice ActionScript seguente nel fotogramma 1 della linea temporale:_focusrect = false;

Configurare le impostazioni di pubblicazione per Flash Player 6 e provare il file SWF in una finestra del browser selezionando File > Anteprima pubblicazione > HTML. Rendere attivo il file SWF facendo clic su di esso nella finestra del browser e utilizzare il tasto Tab per rendere attiva ciascuna istanza. Se si preme Invio o la barra spaziatrice quando la propriet _focusrect disabilitata, il gestore eventi onRelease non viene chiamato quando _focusrect abilitata o true. Vedere anche_focusrect (propriet Button._focusrect), _focusrect (propriet MovieClip._focusrect)

122

Capitolo 1: Elementi del linguaggio ActionScript

_global, propriet_global.identifier

Un riferimento all'oggetto globale che contiene le classi ActionScript principali, quali String, Object, Math e Array. possibile, ad esempio, creare una libreria che sia visibile come un oggetto ActionScript globale, simile agli oggetti Math e Date. A differenza delle variabili e funzioni dichiarate localmente o nella linea temporale, le variabili e funzioni globali sono visibili in tutte le linee temporali e aree di validit del file SWF, a condizione che non siano oscurate da identificatori con nomi uguali nelle aree di validit interne. Nota: durante l'impostazione del valore di una variabile globale, necessario utilizzare il nome completo della variabile, come _global.variableName. In caso contrario verrebbe creata una variabile locale con lo stesso nome che oscurerebbe quella che si sta cercando di impostare. Restituisce un riferimento all'o