Pensez a appeler DOUBLE BUFFER durant la phase d initialisation pour eviter tout scintillement indesirable lorsque vos Bobs sont deplaces.
Le meme canal peut etre utilise a la fois pour des animations STOS et des programmes AMAL, ce qui rend tres simple l extension de vos routines une fois qu elles ont ete converties avec succes de STOS vers AMOS Professional. L ordre d execution est : AMAL ... MOVE X ... MOVE Y ... ANIM.
La compatibilite STOS est montree dans le programme de demonstration suivant :
LD> Load "AMOSPro Tutorial:Tutorials/AMAL/AMAL_5.AMOS"
Voici la liste complete des commandes compatibles STOS.
MOVE X
instruction : deplace un Sprite horizontalement
Move X numero,"(vitesse,etape,compteur)... (vitesse,etape,compteur)L"
Move X numero,"(vitesse,etape,compteur)Enombre"
La commande MOVE X definit une liste de deplacements horizontaux a effectuer sur le canal d animation indique par le numero. Ce numero varie de 0 a 15 et fait reference a une sequence d animation pour un objet deja assigne avec la commande CHANNEL. Le numero est suivi d une "chaine de mouvement" contenant une serie d instructions controlant la vitesse et la direction de l objet. Ces commandes de mouvement sont entrees entre parentheses, avec les trois parametres separes par des virgules.
Le parametre vitesse definit le delai entre chaque etape du mouvement, en 50emes de seconde. La vitesse varie de 1 (tres rapide) jusqu a 32767 (tres lent). Ensuite vient la valeur etape, definissant le nombre de pixels a deplacer a chaque operation. Une valeur positive deplace l objet vers la droite, une valeur negative vers la gauche. La vitesse apparente dependra du rapport entre la vitesse et l etape, allant de mouvements lents et fluides a rapides mais saccades. Une valeur de vitesse d environ 10 (ou -10) est recommande. Le dernier parametre est le compteur, qui indique combien de fois le mouvement sera repete. Les valeurs varient de 1 a 32767. Une valeur de 0 signifie repetition indefinie.
Il est essentiel d ajouter une instruction L (loop) a la fin de la chaine de mouvement si vous souhaitez que la sequence recommence depuis le debut. Voici un exemple :
E> Load "AMOSPro_Tutorial:Objects/Sprites.Abk" :Get Sprite Palette Sprite 1,360,100,1 Move X1,"(1,1,60)(1,-5,60)L" Move On Direct
Une autre facon de terminer la chaine de mouvement consiste a utiliser l option E suivie d une valeur de coordonnee X.