Les parametres dans une commande Move ne sont pas limites a des nombres. Vous pouvez aussi utiliser des expressions avec des fonctions AMAL. Dans l exemple suivant, on utilise XM et YM, qui sont une paire de fonctions AMAL renvoyant les coordonnees actuelles de la souris. Ce type de technique est souvent utilise pour faire en sorte qu un objet "poursuive" le joueur de facon "intelligente" :
E> Load "AMOSPro_Tutorial:Objects/Sprites.abk" : Get Sprite Palette Sprite 8,200,100,1 Amal 8,"Move XM-X,YM-Y,32" Amal On 8 : Wait Key
Animer un objet
ANIM
Instruction AMAL : animer un objet
Anim nombre,(image,delai)(image,delai) ..
Une fois les objets en mouvement fluide a l ecran, l etape suivante consiste a les animer. Cela se fait en faisant defiler un objet a travers une serie d images, en utilisant la commande Anim. Anim est suivi d un nombre qui specifie combien de fois le cycle d animation doit etre repete. Si ce nombre est 0, l animation sera bouclee indefiniment.
Chaque "image" de l animation est contenue dans une paire de parentheses contenant deux parametres : le numero de l image, puis le delai pendant lequel cette image est affichee a l ecran, mesure en 50emes de seconde. Rappelez-vous qu il est recommande d utiliser des points-virgules pour separer les commandes AMAL, comme dans l exemple suivant :
E> Load "AMOSPro Tutorial:Objects/Sprites.Abk" Get Sprite Palette SP=6 : Sprite SP,200,100,7 M$=Anim 26,(7,4)(8,5);" M$=M$+"Move 100,100,150; Move-100,-100,75" Channel SP To Sprite SP Amal SP,M$ : Amal On SP Direct
Pour une demonstration instantanee d un objet anime, essayez le programme didacticiel suivant :
LD> Load "AMOSPro_Tutorial:Tutorials/AMAL/AMAL_1.AMOS"
Deplacement dans les programmes AMAL
JUMP
Instruction AMAL : aller a une etiquette dans un programme AMAL
Jump etiquette
Lorsque vous commencerez a utiliser les capacites d AMAL avec confiance, vous voudrez bientot pouvoir sauter d une partie du programme a une autre. Cela se fait en definissant une etiquette (label), puis en utilisant la commande Jump pour s y rendre.