Table des matières

J'attrape la balle de tennis

Pour ramasser la balle, il suffit de la faire disparaître dès que mon personnage se trouve sur la balle :

Voici les instructions que je peux utiliser :

Pourinstruction
faire afficher une information dans la console
Variables
cacher un objet
UI controls
déplacer un objet
UI controls

Position et largeur de mon personnage et de la balle

Utilise la molette de la souris et la touche CTRL pour faire un Zoom avant ou un Zoom arrière afin de bien voir le tutoriel.

tennis_detection.swf

Détecter que mon personnage attrape la balle

Pour détecter que mon personnage est sur la balle, j'utilise l'algorithme suivant en considérant que mon personnage et ma balle sont des rectangles :

si (x1 < x2 + L2 ET
    x1 + L1 > x2 ET
    y1 < y2 + H2 ET
    y1 + H1 > y2) 
alors 
    il y a collision et je cache ma balle !
fin si

Explication

tennis_detection2.swf

Mon code

J'ajoute une condition pour cacher ma balle :

Il est difficile d'écrire une condition complexe. J'utilise aors le mode texte :

Et je saisis le code suivant :

if (getXPosition("image_personnage") < (getXPosition("image_balle") + 50) &&
   (getXPosition("image_personnage") + 100) > getXPosition("image_balle") && 
   getYPosition("image_personnage") < (getYPosition("image_balle") + 50) &&
   (getYPosition("image_personnage") + 100) > getYPosition("image_balle")) {
    hideElement("image_balle");
  }

Ce qui donne en affichant les blocs :

Faire apparaître la balle à un autre endroit

Au lieu de faire cacher la balle dès qu'elle est ramassée, je l'a fait apparaître à un autre endroit au hasard.

Pour faire placer la balle à un autre endroit j'utilise l'instruction setPosition() :

Pour obtenir un placement au hasard j'utilise l'instruction randomNumber() :

Gérer un score

Comme il est maintenant possible de déplacer la balle dans ton application, comptabilise combien de fois elle est ramassée :

Retour à l'activité : mon programme Tennis