Manuel Amos Professional  Sommaire  Index

Detection de Collisions


un petit moment, selon le nombre d objets concernes. Si un numero est donne, alors le masque sera cree uniquement pour cette image specifique.

Les fonctions de collision

BOB COL
fonction : detecter une collision entre objets Blitter
c=Bob Col(numero)
c=Bob Col(numero, premier To dernier)

La fonction BOB COL verifie les collisions entre objets Blitter a l ecran. Elle est indispensable dans les jeux de type arcade ou il faut toucher ou eviter des objets en mouvement. Pour tester une collision, indiquez simplement le numero du Bob concerne. Si une collision se produit, la fonction retourne -1 (vrai), sinon elle retourne 0 (faux).

Le systeme de collision d AMOS Professional utilise des "masques", ce qui signifie qu il est sensible a la forme physique de vos objets. Ainsi, une collision ne sera detectee que si les objets se chevauchent visuellement a l ecran.

Par defaut, BOB COL verifie les collisions entre l objet specifie et tous les autres Bobs. Mais vous pouvez aussi limiter la verification a une plage specifique d objets en ajoutant les numeros du premier et du dernier Bob a tester.

BOB COL est tres proche de la fonction BC utilisee dans le systeme d animation AMAL. Pour verifier rapidement quel objet specifique a entre en collision, vous pouvez utiliser la fonction COL, expliquee plus loin.

SPRITE COL
fonction : detecter une collision entre Sprites
c=Sprite Col(numero)
c=Sprite Col(numero, debut To fin)

La fonction SPRITE COL permet de verifier si deux ou plusieurs Sprites sont entres en collision. Si une collision est detectee, elle retourne -1 (vrai), sinon elle retourne 0 (faux).

Le numero dans les parentheses correspond a un Sprite actif a l ecran. Il peut s agir d un Sprite materiel standard de l Amiga ou d un Sprite calcule par AMOS Professional, mais l image doit obligatoirement avoir un masque.

Par defaut, les masques ne sont crees que pour les Bobs. Vous devez donc creer explicitement un masque pour chaque image Sprite via la commande MAKE MASK en debut de programme.

Si vous voulez tester une plage specifique de Sprites, ajoutez les parametres debut et fin. Les Sprites materiels et calcules peuvent etre melanges dans une meme instruction SPRITE COL. La fonction equivalente dans AMAL est SC.

Retour    Suivant
07.04.03