Flash Lite 2 |
|||
| Guide de référence du langage ActionScript Flash Lite 2.x > Eléments du langage ActionScript > Instructions > instruction with | |||
with (object:Object) { statement(s); }
Permet de spécifier un objet (tel qu'un clip) avec le paramètre object et évalue les expressions et les actions au sein de cet objet avec le paramètre statement(s). Ceci évite d'avoir à écrire plusieurs fois le nom de l'objet ou son chemin.
Le paramètre object forme alors le contexte de lecture des propriétés, variables et fonctions du paramètre statement(s). Par exemple, si object est my_array, et que deux des propriétés spécifiées sont length et concat, ces propriétés sont automatiquement lues comme my_array.length et my_array.concat. Un autre exemple, si object est state.california, toutes les actions et instructions contenues dans l'instruction with sont appelées de l'intérieur de l'occurrence california.
Pour déterminer la valeur d'un identificateur dans le paramètre statement(s), ActionScript commence au début de la chaîne de domaine spécifiée par object et recherche l'identificateur à tous les niveaux de la chaîne de domaine, selon un ordre spécifique.
La chaîne de domaine utilisée par l'instruction with pour résoudre les identificateurs commence par le premier élément dans la liste suivante et se poursuit jusqu'au dernier :
with de plus bas niveau.with de plus bas niveau. Pour définir une variable dans une instruction with, vous devez avoir déclaré cette variable en-dehors de l'instruction with ou vous devez entrer le chemin complet du scénario cible de la variable. Si vous définissez une variable dans une instruction with sans la déclarer, l'instruction with recherche la valeur en fonction de la chaîne de domaine. Si la variable n'existe pas, la nouvelle valeur est définie sur le scénario ayant servi à appeler l'instruction with.
Vous pouvez utiliser des chemins directs pour éviter with(). Si les chemins sont longs et difficiles à taper, créez une variable locale et enregistrez le chemin dans cette dernière. Vous pourrez alors le réutiliser dans votre code, comme indiqué dans le code ActionScript suivant.
var shortcut = this._parent._parent.name_txt; shortcut.text = "Hank"; shortcut.autoSize = true;
Disponibilité : ActionScript 1.0 ; Flash Lite 2.0
object:Object - Occurrence de l'objet ActionScript ou du clip.
L'exemple suivant définit les propriétés _x et _y de l'occurrence someOther_mc, puis indique à someOther_mc de se rendre à l'image 3 et de s'arrêter.
with (someOther_mc) {
_x = 50;
_y = 100;
gotoAndStop(3);
}
Le fragment de code suivant indique comment écrire le code qui précède sans instruction with.
someOther_mc._x = 50; someOther_mc._y = 100; someOther_mc.gotoAndStop(3);
L'instruction with est utile pour accéder à plusieurs éléments dans la liste de chaîne de domaine de manière simultanée. Dans l'exemple suivant, l'objet Math intégré est placé au début de la chaîne de domaine. Déterminer Math comme objet par défaut convertit respectivement les identificateurs cos, sin, et PI en Math.cos, Math.sin, et Math.PI. Les identificateurs a, x, y, et rne sont pas des méthodes ou des propriétés de l'objet Math mais, puisqu'ils existent dans le domaine d'activation d'objet de la fonction polar(), ils renvoient aux variables locales correspondantes.
function polar(r:Number):Void {
var a:Number, x:Number, y:Number;
with (Math) {
a = PI * pow(r, 2);
x = r * cos(PI);
y = r * sin(PI / 2);
}
trace("area = " + a);
trace("x = " + x);
trace("y = " + y);
} polar(3);
Le résultat suivant s'affiche dans le panneau Sortie.
area = 28.2743338823081 x = -3 y = 3