Joysticks
Un joystick peut être utilisé pour contrôler les déplacements à l'écran en poussant son manche dans la
direction souhaitée, et pour déclencher toutes sortes d'actions en appuyant sur un ou plusieurs boutons
intégrés à son mécanisme. Chacune des deux prises joystick situées à l'arrière ou sur le côté de votre Amiga
peut accueillir un connecteur de joystick. Si deux utilisateurs souhaitent contrôler chacun un joystick dans
des programmes écrits à cet effet, les deux ports peuvent être utilisés. Pour que le joystick interagisse avec vos
programmes, l'ordinateur doit pouvoir lire ses mouvements et ses actions. AMOS Professional propose
plusieurs fonctions utiles pour faire cela.
JOY
fonction : lire l'état du joystick
status=Joy(numéro de port)
Cette fonction inspecte ce qui se passe avec le joystick et en fait un rapport. Si le joystick que vous utilisez est connecté au port joystick, l'ordinateur doit regarder le port numéro (1). Si vous utilisez le port souris, utilisez le numéro de port (0). Par exemple :
E> Do J=Joy(1) Print Bin$(J,5),J Loop
Lorsque vous exécutez cette routine, des rapports sont donnés sur les mouvements du joystick et l'état du bouton de tir sous forme de nombres binaires. Le motif de uns et de zéros dans le rapport peut ensuite être inspecté. Les bits binaires indiqués comme zéro signifient qu'aucune action n'est en cours, tandis que tout bit indiqué comme un signifie que le joystick a été déplacé dans la direction correspondant à ce bit. Voici une liste de ces bits et leur signification.
Numéro de bit Signification 0 Le joystick a été poussé vers le haut 1 Le joystick a été poussé vers le bas 2 Le joystick a été poussé vers la gauche 3 Le joystick a été poussé vers la droite 4 Le bouton de tir a été pressé
Chacun de ces aspects de l'état du joystick peut être accédé individuellement en utilisant les fonctions suivantes :
JLEFT
fonction : teste si le joystick est déplacé vers la gauche
x=Jleft(numéro de port)
Renvoie une valeur de -1 (vrai) si le joystick connecté au port spécifié a été poussé vers la gauche, sinon une valeur de 0 est retournée (faux).