La commande PLay est suivie du numero du trajet pre-enregistre dans la banque de memoire AMAL. Les numeros de chemins peuvent aller de 1 jusqu au nombre maximum de motifs enregistres. Lors de la premiere lecture d une commande PLay, AMAL cherche le numero de chemin dans la banque. Si un probleme survient, AMAL interrompt l execution et passe a l instruction suivante dans la chaine d animation.
Des que le motif est initialise, le registre RU est charge avec le delai entre chaque etape de mouvement, mesure en 50emes de seconde. En modifiant RU dans le programme AMAL, vous pouvez ralentir ou accelerer le mouvement de l objet.
Notez que chaque etape de mouvement est ajoutee aux coordonnees actuelles de l objet. Cela signifie que si l objet est deplace par une instruction SPRITE ou BOB, il continuera ses mouvements pre-enregistres depuis sa nouvelle position. Ainsi, vous pouvez animer facilement plusieurs objets differents avec une seule sequence de mouvements enregistree.
La direction du mouvement est controlee par la valeur dans le registre R1. Cette valeur produit trois effets possibles :
Valeur R1 Effet >0 joue la sequence normalement 0 joue la sequence en sens inverse -1 arrete la sequence et passe a l instruction AMAL suivante
Les contenus des registres R1 et RU peuvent etre modifies a tout moment depuis le programme principal AMOS, en utilisant les commandes AMREG ou AMPLAY (expliquees plus loin).
Pour une demonstration spectaculaire des trajectoires pre-enregistrees, chargez ce programme :
LD> Load "AMOSPro_Tutorial:Tutorials/AMAL/AMAL_5.AMOS"
Liste des fonctions AMAL
Voici la liste alphabetique complete de toutes les fonctions AMAL disponibles :
BC
valeur = Bob Col(nombre,premier,dernier)
BC est identique a l instruction Basic BOB COL. Elle teste un Bob specifique pour une collision avec d autres Bobs, dont les numeros sont compris dans la plage indiquee. Si une collision est detectee, la fonction renvoie -1 (vrai), sinon 0 (faux).
Cette instruction ne peut pas etre utilisee dans une interruption. Elle n est disponible que lorsque les routines AMAL sont executees directement depuis Basic avec la commande SYNCHRO.