Manuel Amos Professional  Sommaire  Index

Detection de Collisions


Avant d expliquer en detail les fonctions de collision, il est utile d observer AMOS Professional en action avec un programme tout pret. Cela va demontrer comment les collisions sont gerees.

Veuillez charger le tutoriel suivant :

DP> Load "AMOSPro Tutorial:Tutorials/Collision_Detection.AMOS"

Lancez ensuite le programme et selectionnez l Exemple 1. Il montre comment une simple raquette et une balle peuvent interagir. Pour simplifier, la raquette est fixe. La detection de collision repose sur la ligne suivante :

X> If Bob Col(1) Then Boom

Remarquez que l effet d explosion est declenche des que la raquette entre en contact, meme legerement, avec la balle. L Exemple 2 lance vraiment le mouvement !

La meme instruction peut aussi etre utilisee pour detecter des collisions entre un objet source et plusieurs cibles. La fonction BOB COL verifie automatiquement tous les Bobs dans l Exemple 3.

Pour affiner le systeme et verifier une plage plus restreinte d objets, ajoutez simplement les numeros du premier et du dernier objet a la commande BOBSPRITE COL dans le programme demonstration. Par exemple, modifier la ligne ainsi permet de tester une balle rouge et une verte :

E> If Bobsprite Col(1,2 To 4) Then Bell 10

Masques
Des masques invisibles sont crees autour des images pour deux raisons principales. Premiere raison : ils permettent de rendre la couleur de fond (zero) transparente, afin que l image s integre visuellement a l ecran. Deuxieme raison : ils permettent a AMOS Professional de detecter les collisions. Les fonctions de detection ne fonctionnent que si un masque a d abord ete cree autour des images.

Les masques sont automatiquement crees quand une image est assignee a un objet Bob via la commande BOB. Cependant, les Sprites n ont pas de masque par defaut. Si vous voulez detecter les collisions entre Sprites, il est essentiel de leur appliquer un masque.

MAKE MASK
instruction : creer un masque pour la detection de collision
Make Mask
Make Mask numero

Cette commande cree un masque autour de chaque image de la banque d objets (Object Bank), et peut prendre...

Retour    Suivant
07.04.02