reman3/Rayman_X/cpa/IA - HELP/Francais/Conditions/ADerriere.___

52 lines
5.9 KiB
Plaintext

{\rtf1\ansi \deff4\deflang1033{\fonttbl{\f4\froman\fcharset0\fprq2 Times New Roman;}{\f27\fnil\fcharset2\fprq2 Wingdings;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;
\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;
\red192\green192\blue192;}{\stylesheet{\widctlpar \f4\fs20\lang1036 \snext0 Normal;}{\s4\fi-284\li284\sb240\sa60\widctlpar \b\i\f4\cf2\lang2057 \sbasedon0\snext0 heading 4;}{\*\cs10 \additive Default Paragraph Font;}{\s15\widctlpar \f4\fs20\lang1036
\sbasedon0\snext15 footnote text;}{\*\cs16 \additive\super \sbasedon10 footnote reference;}{\s17\keepn\widctlpar \b\f4\fs28\cf11\lang1036 \sbasedon0\snext17 Titre;}{\s18\widctlpar\tqc\tx4536\tqr\tx9072 \f4\fs20\lang1036 \sbasedon0\snext18 header;}{
\s19\widctlpar\tqc\tx4536\tqr\tx9072 \f4\fs20\lang1036 \sbasedon0\snext19 footer;}{\*\cs20 \additive\uldb\nosupersub Lien;}{\*\cs21 \additive\v\ulnone\nosupersub R\'e9f\'e9rence;}}{\info{\title K$ Nom de la M\'e9taAction}{\author UBI}
{\keywords ADerriere}{\operator UBI}{\creatim\yr1997\mo3\dy25\hr9\min14}{\revtim\yr1997\mo10\dy7\hr11\min50}{\version3}{\edmins0}{\nofpages1}{\nofwords284}{\nofchars1620}{\*\company UBI SOFT}{\vern57443}}\margl1417\margr1417\margt1417\margb1417
\deftab708\widowctrl\ftnbj\aenddoc\hyphhotz425\hyphcaps0\formshade \fet0\sectd \linex0\headery709\footery709\colsx709\endnhere {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}
{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}
{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain
\s17\keepn\widctlpar \b\f4\fs28\cf11\lang1036 {\cs16\super #{\footnote \pard\plain \s15\widctlpar \f4\fs20\lang1036 {\cs16\super #} IDH_{\field{\*\fldinst KEYWORDS \\* UPPER \\* MERGEFORMAT }{\fldrslt ADERRIERE}}}K{\footnote \pard\plain \s15\widctlpar
\f4\fs20\lang1036 {\cs16\super K} {\field{\*\fldinst KEYWORDS \\* MERGEFORMAT }{\fldrslt ADerriere}}}${\footnote \pard\plain \s15\widctlpar \f4\fs20\lang1036 {\cs16\super $} {\field{\*\fldinst KEYWORDS \\* MERGEFORMAT }{\fldrslt ADerriere}}}}
{\field{\*\fldinst KEYWORDS \\* MERGEFORMAT }{\fldrslt ADerriere}}
\par
\par \pard\plain \s4\fi-284\li284\sb240\sa60\widctlpar \b\i\f4\cf2\lang2057 {\lang1036 Syntaxe
\par }\pard\plain \widctlpar \f4\fs20\lang1036
\par Bool\'e9en{\b }{\field{\*\fldinst {\b KEYWORDS \\* MERGEFORMAT }}{\fldrslt {\b ADerriere}}}(Vecteur P, R\'e9el D)
\par \pard\plain \s4\fi-284\li284\sb240\sa60\widctlpar \b\i\f4\cf2\lang2057 {\lang1036 Description
\par }\pard\plain \widctlpar \f4\fs20\lang1036
\par Renvoie VRAI si
\par {\pntext\tab}\pard \widctlpar{\*\pn \pnlvlcont\pnb0\pni0\pnf27\pnfs20\pnstart1\pnindent283\pnhang{\pntxtb n}}1) si D>=0 et si le point P est au moins \'e0 une distance D derri\'e8re le perso courant (dans son rep\'e8re local)
\par {\pntext\tab}2) si D<0 et si le point P est \'e0 moins d\rquote une distance -D derri\'e8re le perso courant (dans son rep\'e8re local)
\par \pard\plain \s4\fi-284\li284\sb240\sa60\widctlpar \b\i\f4\cf2\lang2057 {\lang1036 Exemple(s)
\par }\pard\plain \widctlpar \f4\fs20\lang1036 Cette condition est assez puissante \'e0 condition d\rquote avoir \'e0 l\rquote esprit le sch\'e9ma ci dessous\~:
\par
\par 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
\par que pour la condition {\cs20\uldb ADevant}{\cs21\v IDH_ADEVANT}.
\par
\par {\b \tab Dessin \'e0 faire\~: Patience, c\rquote est le m\'eame genre que pour AAGauche mais pivote les 1 2 3 4 de 90 degr\'e9s
\par }\pard \qc\widctlpar
\par \pard \widctlpar Si on veut tester que le perso2 est derri\'e8re le perso1 dans la zone 1 \'e0 une distance sup\'e9rieure ou \'e9gale \'e0 d sur l\rquote axe Y, on \'e9crira\~:
\par
\par d\~:=3\tab \tab \tab \tab \tab \tab \tab ; d est une variable designer de type r\'e9el
\par Pos2\~:=\~\ldblquote \~Perso2\~\rdblquote .PositionAbsoluePerso()\tab \tab ; Pos2 est une variable designer de type vecteur
\par Si \ldblquote \~Perso1\~\rdblquote .ADevant(Pos2,d)\tab \tab \tab \tab ; qui stocke la position du perso2
\par Alors ......
\par
\par Si on veut tester que le perso2 est derri\'e8re le perso1 dans la zone 2 \'e0 une distance inf\'e9rieure ou \'e9gale \'e0 d sur l\rquote axe Y, on \'e9crira\~:
\par
\par d\~:=3\tab \tab \tab \tab \tab \tab \tab ; d est une variable designer de type r\'e9el
\par Pos2\~:=\~\ldblquote \~Perso2\~\rdblquote .PositionAbsoluePerso()\tab \tab ; Pos2 est une variable designer de type vecteur
\par Si \ldblquote \~Perso1\~\rdblquote .ADerriere(Pos2,-d)\tab \tab \tab {\b ; le signe - est la seule diff\'e9rence}
\par Alors ......
\par
\par {\b En r\'e9sum\'e9, le signe du param\'e8tre D sert \'e0 savoir si on utilise l\rquote int\'e9rieure ou l\rquote ext\'e9rieure d\rquote une bande de largeur |D| \'e0 droite du perso1\~!\~!\~!\~!
\par
\par }{\b\ul Pour tester simplement si le perso2 est derri\'e8re du perso1 (donc dans les zones 1 ou 2), il faut passer 0.0 comme param\'e9tre D\~!\~!\~!\~!
\par }
\par Cette condition est \'e9videmment utilisable avec des WayPoints, il suffit de remplacer la ligne
\par \pard \fi708\widctlpar Pos2\~:= \ldblquote \~Perso2\~\rdblquote .PositionAbsoluePerso()
\par \pard \widctlpar par
\par \pard \fi708\widctlpar Pos2\~:= PositionAbsolueWP(\ldblquote \~MonWayPoint\~\rdblquote )
\par }