Indice Introduzione XV PARTE PRIMA FONDAMENTI 1 Capitolo 1 Che cos è Flash 3 1.1 Gerarchia temporale 4 Implicazioni relative ad animazioni e dimensioni del file 4 Implicazioni per la programmazione 6 Scelta del target e indirizzamento 6 1.2 Posizioni degli script 10 1.3 Clip filmato 13 1.4 Sistema di coordinate 15 1.5 Trucchi del mestiere 16 Pulsanti invisibili 16 Clip filmato vuoti 18 Livelli e fotogrammi vuoti 19 1.6 Riepilogo 20 Capitolo 2 Novità di Flash MX 21 2.1 Miglioramenti generali 21 Video 22 Spazio di lavoro 23 Librerie condivise 23 Componenti integrati 24 Prestazioni di Flash Player 25 2.2 Funzionalità per i programmatori 26 Il nuovo pannello Azioni 27 Un vero debugger 30 Nuovi oggetti 31
VI INDICE Disegno in fase di esecuzione 32 Modifiche importanti negli eventi ActionScript 32 Funzionalità specifiche per il Web 35 2.3 Convenzioni e prerequisiti 36 Formule a portata di mano 36 Come distinguere gli elementi di ActionScript dal resto dello script 37 Prerequisiti 37 2.4 Riepilogo 38 Capitolo 3 Concetti generali per il programmatore 39 3.1 Specifiche 39 3.2 Prototipi 40 Hard wiring 42 Pseudo codice 42 3.3 Buono stile di programmazione 43 Meno è meglio 43 Commenti 44 Numeri magici, costanti e variabili 45 Codice ripetuto 47 3.4 Separare il codice dai dati 47 3.5 Riepilogo 48 Capitolo 4 Programmazione di base in Flash 49 4.1 Terminologia, caratteri speciali e formattazione 49 Eventi 50 Risultati degli eventi 51 Termini 52 4.2 Tipi di dati e variabili 61 Nomi e valori delle variabili 61 Tipi di dati stringa e numerico 61 Altri tipi di dati 64 4.3 Come utilizzare le variabili 67 Come assegnare e accedere ai valori delle variabili 68 Come confrontare e passare i valori 68 Area di validità e collisione di variabili 70 Variabili globali 72 Variabili locali 73 4.4 Sintassi a punto 73 4.5 Riepilogo 74 Capitolo 5 Strutture di programmazione 75 5.1 Istruzioni, espressioni e operatori 75 Come si scrivono le espressioni 76
INDICE VII Come utilizzare gli operatori nelle espressioni 77 Tipi di istruzione 84 Istruzioni integrate 88 5.2 Oggetti semplici nelle istruzioni 88 Come utilizzare l oggetto Math 89 Come utilizzare l oggetto Number 94 5.3 Istruzioni condizionali e di ciclo 97 Istruzioni condizionali: if, if else, if else if, switch 98 Istruzioni di ciclo: for, for in 104 5.4 Espressioni applicate 111 5.5 Riepilogo 114 Capitolo 6 Ricerca e risoluzione dei bachi 115 6.1 Come prepararsi a una vita senza bachi 116 Come trovare e definire i bachi 116 Come trovare i bachi che impediscono l avvio dell animazione 116 Risoluzione dei bachi 121 Come prevenire i bachi 122 6.2 Utilizzo del Debugger 124 Come visualizzare e impostare proprietà e variabili 124 Come esaminare le variabili 127 Come analizzare il codice 129 Debug remoto 132 Strategie di debug 134 Come garantire qualità e produttività 140 6.3 Riepilogo 145 Capitolo 7 L oggetto MovieClip 147 7.1 Proprietà dei clip 147 L accesso è libero, ma non sempre lo sono le modifiche 149 Target anonimi 150 7.2 Variabili nei clip (o proprietà personalizzate) 151 7.3 Metodi dei clip 154 7.4 Come impostare gli indirizzi per far riferimento ai clip 157 Riferimenti relativi e assoluti 158 Riferimenti dinamici 162 7.5 Riepilogo 165 Capitolo 8 Funzioni 167 8.1 Come utilizzare le funzioni 167 Come utilizzare le funzioni integrate 168
VIII INDICE Come utilizzare le funzioni personalizzate 170 8.2 Creazione di funzioni personalizzate 172 Concetti di base 172 Funzioni come sottoroutine 173 Creazione di funzioni che accettino parametri 177 Creazione di funzioni che restituiscano valori 180 Utilizzare le funzioni come metodi 183 Variabili locali 184 8.3 Utilizzo delle funzioni con le tecniche già apprese 187 Funzioni integrate 187 Concetti da ricordare 188 8.4 Riepilogo 191 Capitolo 9 Manipolazione delle stringhe 193 9.1 Forme dell oggetto String 193 L oggetto String in dettaglio 195 9.2 Metodi dell oggetto String 196 Sistema con base zero 197 Come estrarre porzioni di stringhe 197 Come estrarre caratteri, cambiare maiuscole in minuscole ed effettuare ricerche 199 Metodi dell oggetto String applicati 200 9.3 Riepilogo 204 Capitolo 10 Accesso alla tastiera e modifica del testo sullo schermo 205 10.1 I due oggetti Text : TextField e TextFormat 206 L oggetto TextField 207 L oggetto TextFormat 220 Utilizzo degli oggetti TextField e TextFormat 223 10.2 L oggetto Selection 227 Impostazione e ottenimento dello stato attivo 228 Impostazione e ottenimento delle selezioni 230 I listener dell oggetto Selection 231 10.3 L oggetto Key 233 Utilizzo dell oggetto Key 233 Esempi per l oggetto Key 236 10.4 Riepilogo 239 Capitolo 11 Gli array 241 11.1 Cenni preliminari sugli array 242 11.2 Creazione e manipolazione degli array 245 Creazione e inserimento di valori negli array 245 Accesso al contenuto degli array 247
INDICE IX Metodi dell oggetto Array 252 11.3 Array associativi 263 11.4 Riepilogo 267 Capitolo 12 Gli oggetti 269 12.1 Regole formali degli oggetti 269 12.2 Associazione dei suoni 271 Nozioni fondamentali sull oggetto Sound 271 Controlli avanzati per il suono 273 Controllo di più suoni 276 Determinazione della posizione e della durata di un suono 277 Caricamento dei suoni 278 12.3 Associazione di colori ai clip 280 Applicazione semplice del colore 281 Utilizzo di valori RGB 281 Utilizzo del metodo di trasformazione del colore 284 12.4 L oggetto Date 286 Creazione di un istanza di Date 286 Manipolazione delle date 287 12.5 Implicazioni per i clip filmato 293 Creazione di istanze di clip in fase di esecuzione 293 Metodi per il disegno in fase di esecuzione 296 12.6 Riepilogo 305 Capitolo 13 Gli oggetti personali 307 13.1 Gli oggetti fondamentali 308 Utilizzo di una funzione costruttore 308 Creazione di metodi 311 Ereditarietà 316 13.2 Un esempio pratico di oggetti personali 322 13.3 Riepilogo 331 Capitolo 14 Estensione di ActionScript 333 14.1 Funzioni di callback 334 Centralizzazione del codice 334 Trasformazione di un clip filmato in un pulsante 340 Limiti delle funzioni di callback 343 14.2 Registrazione di classi personalizzate 345 Forma di base 346 Un esempio pratico: la registrazione di una classe 348 Aggiunta di proprietà getter/setter 353 Ereditarietà con le classi 355
X INDICE 14.3 Listener e punti di controllo 357 Nozioni fondamentali sui listener 357 Punti di controllo 359 14.4 Overriding dei metodi incorporati 363 14.5 Innesco di uno script in base a una pianificazione 364 14.6 Riepilogo 366 Capitolo 15 I componenti 369 15.1 Cenni preliminari sui componenti 370 Creazione dei componenti 371 Applicazioni avanzate per i componenti standard 381 15.2 Sostituzione del pannello Parametri dei componenti con un interfaccia utente personalizzata 383 Progettazione di interfacce utente personalizzate 384 Creazione di interfacce utente personalizzate 385 Creazione di file con anteprima dal vivo 390 Creazione di componenti che influiscono su altri clip 394 15.3 Riepilogo 395 Capitolo 16 Interfacciamento con i dati esterni 397 16.1 Gli script esterni 398 16.2 Impostazione delle variabili di Flash da HTML 400 16.3 File di dati esterni 402 Attesa del caricamento delle variabili 405 Formato dei file di dati 410 Esempi dell utilizzo di file di dati esterni 411 16.4 Gli script sul server 415 16.5 XML 418 16.6 Gli SharedObject locali 428 Un esempio: non rivedere l introduzione 429 Dettagli dei file SharedObject locali 430 Limiti di spazio su disco 430 Esempi avanzati di SharedObject locali 432 16.7 L oggetto LocalConnection 436 16.8 Riepilogo 440
INDICE XI PARTE SECONDA WORKSHOP DI BASE 441 Workshop 1 Assicurarsi che gli utenti dispongano di Flash Player 6 443 Workshop 2 Creazione di puntatori personalizzati 451 Workshop 3 Creazione di un dispositivo di scorrimento orizzontale 467 W3.1 Creazione di un dispositivo di scorrimento 467 W3.1 Conversione del dispositivo di scorrimento in un componente 473 W3.3 Riepilogo 478 Workshop 4 Creazione di una presentazione di diapositive 479 Workshop 5 Mapping e maschere creati con il codice 489 Workshop 6 Utilizzo di aree selezionabili di forma irregolare 501 Workshop 7 Adattamento dei componenti incorporati 507 W7.1 Inserimento di valori nei componenti 508 W7.2 Modifica degli script nei componenti 510 W7.3 Applicazione di elementi skin a un componente 513 PARTE TERZA WORKSHOP INTERMEDI 517 Workshop 8 Creare un convertitore di valuta 519 Workshop 9 Creazione di un componente Descrizione comandi 541 Workshop 10 Creazione di timer 549
XII INDICE W10.1 Creazione di un timer digitale 549 W10.2 Creazione di un timer analogico 556 W10.3 Creazione di un timer per il conto alla rovescia 563 W10.4 Riepilogo 568 Workshop 11 Utilizzo di Math per creare un dispositivo di scorrimento circolare 569 Workshop 12 Sviluppo di animazioni basate sul tempo 577 PARTE QUARTA WORKSHOP AVANZATI 585 Workshop 13 Disegno di grafici 587 W13.1 Utilizzo dei metodi di disegno 587 W13.2 Applicazione dinamica di etichette al testo 594 Workshop 14 Produzione non in linea 599 Workshop 15 Creazione di una presentazione di diapositive dinamica 605 Workshop 16 Uso dell oggetto SharedObject locale per tenere traccia delle impostazioni utente 617 Workshop 17 Uso dell oggetto LocalConnection per la comunicazione tra filmati 623 Workshop 18 Correzione di script difettosi 627 W18.1 La carta che gira 628 Suggerimento 628 Soluzione 628 W18.2 Visualizzazione della carta 630 Suggerimento 630 Soluzione 631
INDICE XIII W18.3 Movimento circolare 631 Suggerimento 632 Soluzione 632 W18.4 Scelte multiple 632 Suggerimento 633 Soluzione 633 W18.5 Rotazione di una casella 633 Suggerimento 634 Soluzione 634 W18.6 Parole mobili 635 Suggerimento 635 Soluzione 635 W18.7 La casella gialla 636 Suggerimento 637 Soluzione 637 W18.8 Con il pulsante premuto 637 Suggerimento 638 Soluzione 638 W18.9 Oggetti 638 Suggerimento 639 Soluzione 640 W18.10 Spostamenti multipli 640 Suggerimento 640 Soluzione 641 W18.11 Riepilogo 641 Indice analitico 643