2. Hello World!
Prima di iniziare con la didattica sul linguaggio costruiamo il nostro primo Flash, che potrete usare come base per testare gli esempi dei capitoli successivi.
Creiamo un nuovo File Flash (ActionScript 3.0) e salviamolo (hello world.fla), poi creiamo un nuovo File ActionScript (Ctrl + N) salvandolo nella stessa cartella di "hello world.fla" con il nome di "HelloWorld.as".
Ora andremo a costruire la Classe documento all'interno di "HelloWorld.as", ma prima abbiamo bisogno di alcune nozioni fondamentali.
In ActionScript tutte le classi devono obbligatoriamente essere assegnate ad un pacchetto di appartenenza, il cui nome può anche essere omesso assegnando quindi alla classe una visibilità limitata.
Più avanti discuteremo meglio dei pacchetti in un capitolo dedicato ad essi e al ruolo che ricoprono, ma per ora limitiamoci ad inserire la Classe documento in un pacchetto senza nome tramite la direttiva package.
HelloWorld.as
package
{
public class HelloWorld
{
}
}Il nome del File ActionScript deve essere uguale al nome della classe contenuta al suo interno, a cui ho anteposto la parola chiave public, ossia un modificatore di accesso che esamineremo in dettaglio più avanti parlando della programmazione orientata agli oggetti.
Ma il nostro script non è ancora completo, perchè non stiamo costruendo una classe normale ma una Classe documento che dovrà rappresentare lo stage con tutte le sue funzionalità.
Innanzitutto bisogna sapere che qualunque cosa in ActionScript 3 è un oggetto, dallo stage a un normale clip filmato, un bottone, un suono, un campo di testo e così via.
Le librerie native di Flash CS3 sono molto ben fornite e ci consentono ovviamente di rappresentare qualunque oggetto che potremmo costruire utilizzando l'interfaccia grafica.
La classe in particolare che ci interessa ora è la classe MovieClip, che costituisce un clip filmato con una linea temporale.
Useremo questa classe per rappresentare il nostro stage, derivando la classe documento HelloWorld dalla classe nativa MovieClip, grazie alla direttiva extends. Questo processo è chiamato Ereditarietà, e ci consente di far ereditare ad una classe gli
attributi e i metodi di un'altra. Per poter derivare una classe è necessario che la classe madre sia visibile, e nel caso in cui non lo sia è necessario importarla tramite la direttiva import. Procediamo creando un costruttore per la nostra classe. Vi basti sapere per ora che il costruttore è la prima funzione che viene eseguita quando viene creato un oggetto di tale classe (istanza). |
Infine inseriamo all'interno del costruttore la funzione trace() che manderà in output un messaggio attraverso la console di Flash (non produrrà quindi alcun output su un browser).
Vediamo il nuovo codice ...
HelloWorld.as
package //Pacchetto senza nome
{
import flash.display.MovieClip; //Importiamo la classe MovieClip
public class HelloWorld extends MovieClip //Classe documento che deriva (extends) da MovieClip
{
public function HelloWorld():void //Costruttore (prima funzione chiamata automaticamente alla creazione dell'oggetto)
{
trace("Hello ActionScript World!!"); //Manda in output il messaggio fra doppi apici
}
}
}Ora andiamo in "hello world.fla" e nel pannello Proprietà troviamo il campo Classe documento e inseriamo la stringa HelloWorld, che indicherà a Flash di utilizzare la classe HelloWorld come Classe documento.
Flash cercherà automaticamente un file ActionScript con lo stesso nome della classe specificata, nella cartella contentente il file fla.
A questo punto salviamo il file e proviamo il filmato ("Controllo -> Prova filmato" o "CTRL + INVIO").
Se tutto è andato a buon fine dovrebbe aprirsi il pannello Output con il messaggio Hello ActionScript World!! come in questa schermata.
Se avete già dimestichezza con i linguaggi di programmazione e la programmazione orientata agli oggetti, non dovreste aver fatto molta fatica a capire questo sistema, ma in caso contrario non scoraggiatevi, armatevi di pazienza e andate avanti nella lettura, perchè ora andremo ad analizzare il linguaggio vero e proprio accompagnandovi passo dopo passo alla completa padronanza di ActionScript 3.
- Linguaggi:
