#K$ AAGauche

Syntaxe 

Booléen AAGauche(Vecteur P, Réel D)
Description

Renvoie VRAI si 
	1) si D>=0 et si le point P est au moins à une distance D à gauche du perso courant  (dans son repère local)
	2) si D<0 et si le point P est à moins d’une distance -D à gauche du perso courant (dans son repère local)
Exemple(s)
Cette condition est assez puissante à condition d’avoir à l’esprit le schéma ci dessous :

On peut en effet savoir si un perso2 est dans les zones 1 ou 2 par rapport au perso1. Les zones 3 et 4 ne servent
que pour la condition AADroite.

Si on veut tester que le perso2 est à gauche du perso1 dans la zone 1 à une distance supérieure ou égale à d sur l’axe X, on écrira :

    d :=3							; d est une variable designer de type réel
    Pos2 := “ Perso2 ”.PositionAbsoluePerso()		; Pos2 est une variable designer de type vecteur 
    Si “ Perso1 ”.AAGauche(Pos2,d)			; qui stocke la position du perso2
    Alors ......

Si on veut tester que le perso2 est à gauche du perso1 dans la zone 2 à une distance inférieure ou égale à d sur l’axe X, on écrira :

    d :=3							; d est une variable designer de type réel
    Pos2 := “ Perso2 ”.PositionAbsoluePerso()		; Pos2 est une variable designer de type vecteur 
    Si “ Perso1 ”.AAGauche(Pos2,-d)			; le signe - est la seule différence
    Alors ......

En résumé, le signe du paramètre D sert à savoir si on utilise l’intérieure ou l’extérieure d’une bande de largeur |D| à gauche du perso1 ! ! ! ! 

Pour tester simplement si le perso2 est à gauche du perso1 (donc dans les zones 1 ou 2), il faut passer 0.0 comme paramétre D ! ! ! !

Cette condition est évidemment utilisable avec des WayPoints, il suffit de remplacer la ligne 
Pos2 := “ Perso2 ”.PositionAbsoluePerso()
par 
Pos2 := PositionAbsolueWP(“ MonWayPoint ”)