l'impostazione è bene o male sempre uguale ed è così
Codice PHP:
package {
public class NomeClasse {
public function NomeClasse () {
}
}
}
in cui devi sempre inserire il package, poi devi dichiarare pubblica la classe per usarla nei filmati e poi dichiarare il costruttore, ugualmente pubblico
per estendere una classe specifica devi importarla e poi usare "extends" per estenderla, ad esempio per estendere la classe di visualizzazione "MovieClip", fai
Codice PHP:
package {
import flash.display.MovieClip;
public class NomeClasse extends MovieClip {
public function NomeClasse () {
}
}
}
tornando al package, va sempre inserito anche se è vuoto, ma serve principalmente in quei casi in cui le tue classi personalizzate si trovano in cartelle specifiche diverse da quella del fla in cui vengono usate
ad esempio le mie classi personali si trovano dentro una cartella "__CLASSI" che ho impostato sulle preferenze di flash, per dargli la ricerca quando si pubblica il file (Menu Modifica > Preferenze > Actionscript > Actionscript 3.0 Settings)

dentro "__CLASSI" c'è una cartella "org" che ne contiene una "and" che contiene altre cartelle con classi dentro, ad esempio una cartella "utils" in cui c'è una classe "Com"
il codice di base per la classe Com sarà:
Codice PHP:
package org.and.utils {
public class Com {
}
}
che in as2 equivaleva a
Codice PHP:
class org.and.utils.Com {
}
ora, tornando alla scrittura e all'uso di una classe personalizzata, pensiamo di scrivere una classe "Rect" che rappresenta la creazione di un rettangolo
creiamo la classe e poi la salviamo dentro un file con estensione .as e che abbia esattamente il nome della classe che rappresenta (file "Rect.as")
Codice PHP:
package {
import flash.display.MovieClip
public class Rect extends MovieClip {
public function Rect(n:String=null,w:Number=100,h:Number=100,b:uint=0,bCol:uint=0,c:uint=0) {
n != null ? name = n : null;
var border = (b == 0 ? undefined : b)
graphics.lineStyle(border, bCol, 1, false, "normal", "none", "miter", 255);
graphics.beginFill(c);
graphics.drawRect(0,0,w,h);
graphics.endFill();
}
}
}
mettiamo questo file nella stessa cartella del fla in cui la useremo e creiamo un'istanza di Rect, poi la aggiungiamo allo stage
Codice PHP:
var r:Rect = new Rect();
addChild(r);
provando il filmato vedremo in alto a sinistra un quadrato da 100x100 px
questo perchè non abbiamo specificato nessun parametro e la classe ha usato quelli di default che gli abbiamo passato nella costruzione della classe
mentre se facciamo
Codice PHP:
var r:Rect = new Rect("", 300, 200, 1, 0xFF0000, 0x00FF00);
addChild(r);
avremo sullo stage un rettangolo 300x200 px con un bordo rosso da un pixel e sfondo verde
in pratica abbiamo creato una classe che estende la classe MovieClip e che automaticamente disegna dentro la stessa un rettangolo delle dimensioni e colori impostati da noi con una sola riga di codice