N-R > Object.registerClass |
Object.registerClass
Disponibilité
Flash Player 6
Usage
Object.registerClass(idDeSymbole,laClasse)
Paramètres
idDeSymbole L'identifiant de liaison du symbole de clip, ou l'identifiant de chaîne pour la classe ActionScript.
laClasse Une référence à la fonction constructeur de la classe ActionScript, ou null pour désenregistrer le symbole.
Renvoie
Si l'enregistrement de classe réussit, une valeur de true est renvoyée ; sinon, false est renvoyé.
Description
Méthode ; associe un symbole de clip à une classe d'objet ActionScript. S'il n'existe aucun symbole, Flash crée une association entre un identifiant de chaîne et une classe d'objet.
Lorsqu'une occurrence du symbole de clip spécifié est placée par le scénario, elle est enregistrée dans la classe spécifiée par le paramètre laClasse plutôt que dans la classe MovieClip.
Lorsqu'une occurrence du symbole de clip spécifié est créée à l'aide des méthodes attachMovie ou duplicateMovieClip, elle est enregistrée dans la classe spécifiée par le paramètre laClasse plutôt que dans la classe MovieClip.
Si laClasse est null, Object.registerClass supprime toute définition de classe ActionScript associée au symbole de clip ou à l'identifiant de classe spécifié. Pour les symboles de clip, toute occurrence existante du clip reste inchangée, mais les nouvelles occurrences du symbole sont associées à la classe MovieClip par défaut.
Si un symbole est déjà enregistré dans une classe, la méthode Object.registerClass le remplace par le nouvel enregistrement.
Lorsqu'une occurrence de clip est placée par le scénario ou créée à l'aide de attachMovie ou duplicateMovieClip, ActionScript invoque le constructeur pour la classe appropriée avec le mot-clé this désignant l'objet. La fonction constructeur est invoquée sans paramètres.
Si vous utilisez la méthode Object.registerClasspour enregistrer un clip dans une classe ActionScript autre que MovieClip, le symbole du clip n'hérite pas des méthodes, propriétés et événements de la classe MovieClip intégrée, à moins que vous n'incluiez la classe MovieClip dans la chaîne de prototype de la classe. Le code suivant crée une nouvelle classe ActionScript appelée laClasse, qui hérite des propriétés de la classe MovieClip :
laClasse.prototype = new MovieClip();
Exemple
Cet exemple crée un composant pour un objet d'interface de case à cocher standard.
Vous devez d'abord créer un symbole de clip appelé CheckBox dans la bibliothèque. Vous créez ensuite une classe CheckBox dans ActionScript qui représentera la case à cocher.
// définir un constructeur pour (et donc définir)
// la classe CheckBox
function CheckBox() {
...
}
// définir la chaîne de prototype CheckBox
// pour hériter du clip
CheckBox.prototype = new MovieClip();
// définir des méthodes pour la classe CheckBox
CheckBox.prototype.setLabel = function (nouvelleEtiquette) {
this.label = nouvelleEtiquette;
...
};
CheckBox.prototype.setValue = function (nouvelleValeur) {
this.value = nouvelleValeur;
...
};
CheckBox.prototype.getValue = function () {
return this.value;
};
CheckBox.prototype.getLabel = function () {
return this.label;
};
Vous devez maintenant associer la classe CheckBox au symbole de clip CheckBox. Vous devez pouvoir identifier le symbole de clip CheckBox avec ActionScript. Pour ce faire, entrez un identifiant dans la boîte de dialogue Liaison de la bibliothèque et sélectionnez Exporter pour ActionScript.
Rédigez ensuite le code ActionScript nécessaire à l'association de la classe CheckBox au symbole CheckBox :
Object.registerClass("CheckBox" /*idSymbole*/, CheckBox /*laClasse*/ );
Usage 1 (placement dans le scénario). Vous pouvez maintenant placer des occurrences de CheckBox sur la scène au cours de la programmation et, à l'exécution, les occurrences recevront automatiquement la classe CheckBox d'ActionScript. Si vous placez deux occurrences, maCaseAcocher1 et maCaseAcocher2, vous pouvez les contrôler en invoquant des méthodes, comme dans l'exemple suivant :
maCaseAcocher1.setValue(true);
maCaseAcocher2.setValue(false);
maCaseAcocher2.setLabel("nouvelle étiquette pour la deuxième");
Usage 2 (occurrences dynamiques). Vous pouvez utiliser la méthode attachMovie pour créer une nouvelle occurrence de la case à cocher sur la scène pendant la lecture de l'animation. Le symbole CheckBox étant enregistré dans la classe ActionScript CheckBox, la nouvelle occurrence dynamique recevra automatiquement cette classe.
// créationCaseAcocher est une fonction qui
// crée dynamiquement des cases à cocher
function créationCaseAcocher(nom, profondeur) {
attachMovie("CheckBox", nom, profondeur);
}
créationCaseAcocher("maCaseAcocher3", 100);
maCaseAcocher3.setValue(false);
maCaseAcocher3.setLabel("nouvelle étiquette pour la troisième");
Voir aussi
MovieClip.attachMovie, MovieClip.duplicateMovieClip