U-X > with

 

with

Disponibilité

Flash Player 5.

Usage

with (objet) {
	instruction(s);
}

Paramètres

objet Une occurrence d'un clip ou objet ActionScript.

instruction(s) Une action ou un groupe d'actions entre accolades.

Renvoie

Rien.

Description

Action ; vous permet de spécifier un objet (tel qu'un clip) avec le paramètre objet et d'évaluer des expressions et des actions à l'intérieur de cet objet avec le paramètre instruction(s). Cela vous évite d'avoir à rédiger de façon répétée le nom de l'objet ou le chemin de l'objet.

Le paramètre objet devient le contexte dans lequel les propriétés, les variables et les fonctions de instruction(s) sont lues. Par exemple, si objet est monTableau et si deux des propriétés spécifiées sont length et concat, ces propriétés sont automatiquement lues comme monTableau.length et monTableau.concat. Dans un autre exemple, si objet est state.california, les actions ou instructions au sein de l'action with sont appelées depuis l'occurrence california.

Pour trouver la valeur d'un identifiant dans le paramètre instruction(s), ActionScript démarre au début de la chaîne de portée spécifiée par objet et recherche l'identifiant à chaque niveau de la chaîne de portée, dans un ordre spécifique.

La chaîne de portée utilisée par l'action with pour traduire les identifiants commence par le premier élément de la liste suivante et continue jusqu'au dernier :

L'objet spécifié dans le paramètre objet est l'action with la plus intérieure.

L'objet spécifié dans le paramètre objet est l'action with la plus extérieure.

L'objet Activation. Un objet temporaire créé automatiquement lorsqu'une fonction est appelée et qui contient les variables locales appelées dans la fonction.

Le clip contenant le script en cours d'exécution

L'objet Global (des objets intégrés tels que Math et String).

Pour définir une variable dans une action with, la variable doit avoir été déclarée à l'extérieur de l'action with ou vous devez entrer le chemin complet du scénario dans lequel vous souhaitez que la variable existe. Si vous définissez une variable dans une action with sans l'avoir déclarée, l'action with cherche la valeur selon la chaîne de plage. Si la variable n'existe pas déjà, la nouvelle valeur sera définie dans le scénario d'où l'action with a été appelée.

Dans Flash 5, l'action with remplace l'action tellTarget. Nous vous recommandons d'utiliser with au lieu de tellTarget, étant donné qu'il s'agit d'une extension ActionScript standard de la norme ECMA-262. La principale différence entre les actions with et tellTarget est que with utilise comme paramètre une référence à un clip ou à un autre objet, tandis que tellTarget utilise comme paramètre une chaîne de chemin cible qui identifie un clip et ne peut pas être utilisée pour cibler des objets.

Exemple

L'exemple suivant définit les propriétés x et y de l'occurrence unAutreClip et indique ensuite à unAutreClip d'atteindre l'image 3 et de s'arrêter.

with (unAutreClip) {
	_x = 50;
	_y = 100;
	gotoAndStop(3);
}

Le fragment de code suivant montre comment vous auriez pu rédiger le code précédent sans utiliser l'action with.

unAutreClip._x = 50;
unAutreClip._y = 100;
unAutreClip.gotoAndStop(3);

Vous pourriez également rédiger ce code en utilisant l'action tellTarget. Cependant, si unAutreClip n'était pas un clip, mais un objet, vous ne pourriez pas utiliser l'action tellTarget.

tellTarget ("unAutreClip") {
	_x = 50;
	_y = 100;
	gotoAndStop(3);
}

L'action with est utile pour accéder simultanément à plusieurs éléments dans une liste de chaînes de portée. Dans l'exemple suivant, l'objet intégré Math est placé au début de la chaîne de plage. La définition de Math comme objet par défaut traduit les identifiants cos, sin et PI en Math.cos, Math.sin et Math.PI, respectivement. Les identifiants a, x, y et r ne sont pas des méthodes ou propriétés de l'objet Math, mais puisqu'elles existent dans la plage d'activation d'objet de la fonction polaire, elles se traduisent en variables locales correspondantes.

function polaire(r) {
	var a, x, y;
	with (Math) {
		a = PI * r * r;
		x = r * cos(PI); 
		y = r * sin(PI/2);
}
trace("aire  = " +a);
trace("x = " + x);
trace("y = " + y);
}

Vous pouvez utiliser des actions with imbriquées pour accéder aux informations de plusieurs portées. Dans l'exemple suivant, l'occurrence fresno et l'occurrence salinas sont les enfants de l'occurrence california. L'instruction définit les valeurs _alpha de fresno et salinas sans changer la valeur _alpha de california.

with (california){
	with (fresno){
		_alpha = 20;
	}
	with (salinas){
		_alpha = 40;
	}
}

Voir aussi

tellTarget