Verranno creati esempi NON ottimizzati a livello di codice per dare a tutti la possibilità (spero) di comprendere piu' a fondo questo potente linguaggio.
I temi che spiegherò saranno relativi allo sviluppo di interfacce dinamiche, videogiochi ed interconnessioni (di base) con database.
Vorrei fare una premessa per chi proviene da AS2.0 o precedente
Cercate di dimenticare in parte la "vecchia" programmazione ActionScript.
Adobe ha reso (finalmente aggiungo) Flash un linguaggio molto evoluto e maturo strizzando l'occhio ad altri linguaggi strausati.
Considerate AS3.0 come un altro linguaggio.
Creiamo un nuovo documento in formato Actionscript3.0
posizioniamoci sul primo fotogramma e copiamo questo script:
//INIZIO PRIMO ESEMPIO
stop();
//Creao un oggetto di tipo MovieClip chiamato Box
var box:MovieClip=new MovieClip();
//Disegno dentro al MoviClip appena creato un quadrato...
box.graphics.beginFill(0x888888);//...grigio
box.graphics.drawRect(50,100,300,100); //... a queste coordinte (50,100) e a queste dimensioni (300,100)
box.graphics.endFill();
//Creo un oggetto di tipo TextField
var testo:TextField = new TextField();
//Inserisco un testo all'interno dell'oggetto appena creato
testo.text = "Semplice testo"
//Lo posiziono...
testo.y=100
testo.x=50
//Importante: mostro a video gli oggetti precedentemente creati nell'ordine da me deciso.
// senza addChild(), non verrà mostrato nulla.
addChild(box);
addChild(testo);
//FINE PRIMO ESEMPIO
Adesso compilate e vi trovere un box con un testo sopra :)
//INIZIO SECONDO ESEMPIO
stop();
//Creao un oggetto di tipo MovieClip chiamato Box
var box:MovieClip=new MovieClip();
//Disegno dentro al MoviClip appena creato un quadrato...
box.graphics.beginFill(0x888888);//...grigio
box.graphics.drawRect(50,100,300,100);//... a queste coordinte (50,100) e a queste dimensioni (300,100)
box.graphics.endFill();
//Creo un oggetto di tipo TextField
var testo:TextField = new TextField();
//Inserisco un testo all'interno dell'oggetto appena creato
testo.text="Clicca sul box grigio!";
//Lo posiziono...
testo.y=100;
testo.x=50;
testo.height=20;
//Aggiungo all'oggetto box un evento del mouse.
box.addEventListener(MouseEvent.CLICK,onclick);
//Creo una funzione al click
function onclick(e:MouseEvent) {
//Per comodità (cerchiamo sempre di renderci la vita facile) creo una variabile url contenente il link
var url:String="http://www.radicadesign.com";
// Creo un oggetto URLRequest e gli passo il link
var request:URLRequest=new URLRequest(url);
// Apriamo il nostro link in un pagina vuota
navigateToURL(request, '_blank');
}
//Importante: mostro a video gli oggetti precedentemente creati nell'ordine da me deciso.
// senza addChild(), non verrà mostrato nulla.
addChild(box);
addChild(testo);
//FINE SECONDO ESEMPIO