Flash CS4 Professional ActionScript 2.0

Présentation de l'affectation d'enveloppes

Un composant d'interface utilisateur est entièrement composé de clips associés. Ceci signifie que tous les actifs d'un composant d'interface utilisateur peuvent être externes au clip de composant d'interface utilisateur et être utilisés par d'autres composants. Par exemple, si votre composant à besoin de faire appel à des cases à cocher, vous pouvez réutiliser les actifs de composants CheckBox existants.

Le composant CheckBox utilise un clip séparé pour représenter chacun de ses états (FalseUp, FalseDown, Disabled, Selected, etc.). Vous pouvez cependant associer des clips personnalisés, appelés enveloppes, à ces états. Lors de l'exécution, les clips nouveaux et anciens sont exportés dans le fichier SWF. Les anciens états deviennent simplement invisibles et cèdent la place aux nouveaux clips. La capacité à changer d'enveloppe lors de la programmation et de l'exécution s'appelle réhabillage.

Pour réhabiller des composants, créez une variable pour chaque élément d'enveloppe (symbole de clip) utilisé dans le composant et définissez-la sur l'ID de liaison du symbole. Ceci permet aux développeurs de définir un élément d'enveloppe différent en modifiant un seul paramètre dans le composant, comme indiqué ici :

var falseUpIcon = "mySkin";

L'exemple suivant illustre les variables d'enveloppe pour les différents états du composant CheckBox :

var falseUpSkin:String = "";
var falseDownSkin:String = "";
var falseOverSkin:String = ""
var falseDisabledSkin:String = "";
var trueUpSkin:String = "";
var trueDownSkin:String = "";
var trueOverSkin:String = "";
var trueDisabledSkin:String = "";
var falseUpIcon:String = "CheckFalseUp";
var falseDownIcon:String = "CheckFalseDown";
var falseOverIcon:String = "CheckFalseOver";
var falseDisabledIcon:String = "CheckFalseDisabled";
var trueUpIcon:String = "CheckTrueUp";
var trueDownIcon:String = "CheckTrueDown";
var trueOverIcon:String = "CheckTrueOver";
var trueDisabledIcon:String = "CheckTrueDisabled";