Tous les symboles de composant sont liés à un fichier de classe ActionScript 2.0. (Pour plus d'informations sur la liaison, consultez la section Création d'un clip de composant.)
Pour modifier des fichiers de classe ActionScript, vous pouvez utiliser Flash, un éditeur de texte ou un environnement de développement intégré (IDE - Integrated Development Environment).
La classe ActionScript externe étend une autre classe (que la classe soit un composant de la version 2, une classe de base de la version 2 ou la classe ActionScript MovieClip). Vous devez étendre la classe qui crée la fonctionnalité la plus semblable au composant que vous souhaitez créer. Vous pouvez hériter (étendre) d'une seule classe. ActionScript 2.0 n'autorise pas les héritages multiples.
Cette section contient les rubriques suivantes :
L'exemple suivant présente un fichier de classe appelé MyComponent.as. Pour créer ce composant, vous devez lier ce fichier au clip du composant dans Flash.
Cet exemple contient un jeu minimal d'importations, de méthodes et de déclarations pour un composant, MyComponent, qui hérite de la classe UIComponent. Le fichier MyComponents.as est enregistré dans le dossier myPackage.
[Event("eventName")]
// Importation de paquets.
import mx.core.UIObject;
// Déclaration de la classe et extension de la classe parent.
class mypackage.MyComponent extends UIObject {
// Identification du nom de symbole auquel cette classe est liée.
static var symbolName:String = "mypackage.MyComponent";
// Identification du nom de paquet complet du propriétaire du symbole.
static var symbolOwner:Object = Object(mypackage.MyComponent);
// Indication de la variable className.
var className:String = "MyComponent";
// Définition d'un constructeur vide.
function MyComponent() {
}
// Appel de la méthode d'initialisation init() du parent.
// Masquage du cadre de délimitation -- il est utilisé
// uniquement pendant la programmation.
function init():Void {
super.init();
boundingBox_mc.width = 0;
boundingBox_mc.height = 0;
boundingBox_mc.visible = false;
}
function createChildren():Void{
// Appel de createClassObject pour créer des sous-objets.
size();
invalidate();
}
function size(){
// Ecriture du code pour gérer le dimensionnement.
super.size();
invalidate();
}
function draw(){
// Ecriture du code pour gérer la représentation visuelle.
super.draw();
}
}
La procédure ci-dessous est une procédure générale décrivant comment créer un fichier ActionScript pour une classe de composant. Selon le type de composant que vous créez, certaines étapes peuvent être superflues.
Pour écrire un fichier de classe de composant :
Ceci vous permet de faire référence à des classes sans écrire le paquet (par exemple, Button au lieu de mx.controls.Button).
Ces variables sont nécessaires uniquement dans les composants de la version 2.
Celles-ci peuvent être utilisées dans les méthodes de lecture/définition.
Cette méthode est appelée lorsque la classe est créée si la classe étend UIComponent. Si la classe étend MovieClip, appelez cette méthode de la fonction constructeur.
Cette méthode est appelée lorsque la classe est créée si la classe étend UIComponent. Si la classe étend MovieClip, appelez cette méthode depuis la fonction constructeur.
Cette méthode est appelée lorsque la classe est créée si la classe étend UIComponent. De plus, cette méthode est appelée lorsque l'aperçu en direct du composant est redimensionné pendant la programmation.
Cette méthode est appelée lorsque le composant est invalidé, si la classe étend UIComponent.
Lorsque vous ajoutez la balise et la déclaration, les propriétés de lecture/définition apparaissent dans l'inspecteur Propriétés et l'inspecteur des composants dans Flash.
Cela permet aux utilisateurs de définir un élément d'enveloppe différent en modifiant un paramètre du composant.