ActionScript 3 – Programmation séquentielle et orientée objet
216
Effectuer plusieurs tests avec && et ||
Vous aurez parfois besoin d’effectuer plusieurs tests avant d’exécuter une ou plusieurs
lignes d’instructions. Vous les combinerez alors entre les parenthèses d’une structure
conditionnelle en les séparant par les paires de signes && et ||.
La double esperluette (&&) s’assure que les deux tests renvoient la valeur true alors que le
double pipe (prononcez le mot « pipe » à l’anglaise) vérifie qu’au moins un sur les deux
renvoie la valeur true.
Étudions tout de suite deux exemples qui illustrent ces propos :
if(autorisationRelache && carteEnCours.x >450) inventaire++;
Pour que la variable inventaire soit incrémentée d’une unité, il faut que la valeur de la
variable autorisationRelache ait pour valeur 1 (équivalent à true) et que l’occurrence intitulée carteEnCours soit située à plus de 450 pixels du bord gauche de la scène.
if(autorisationRelache || carteEnCours.x >450) inventaire++;
Dans ce second exemple, il suffit que l’une des deux conditions que nous venons d’évoquer
renvoie la valeur true.
Voici un autre exemple qui reprend et améliore le script d’une balle qui rebondit sur
les bords de la scène. Nous gérons maintenant les changements de valeur des variables
vitesseHorizontale et vitesseVerticale en fonction d’une double condition.
var vitesseHorizontale = 5;
var vitesseVerticale = 5;
balle.addEventListener(Event.ENTER_FRAME,deplacerBalle);
function deplacerBalle (evt:Event) {
balle.x+=vitesseHorizontale;
balle.y+=vitesseVerticale;
if(balle.x>490 || balle.x<10) vitesseHorizontale*=-1;
if(balle.y>267 || balle.y<10) vitesseVerticale*=-1;
}
Remarque
Sur Mac, pour obtenir le caractère |, utilisez le raccourci Shift-Alt-L.
Définition
Pour qualifier ces tests multiples, on parle de conditions inclusives et exclusives.
Précédent

- 244/426

Suivant