Outils pour utilisateurs

Outils du site


icn:codetennis_04

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 :

  • en cachant la balle
  • ou en la déplaçant à un autre endroit du terrain.

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 :

  • mon personnage à la position x1 et y1 avec la largeur L1 et la hauteur H1,
  • ma balle à la position x2 et y2 avec la largeur L2 et la hauteur H2.
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

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() :

  • la valeur de x de 0 à 320 - 50 (largeur de l'écran - la largeur de l'image),
  • la valeur de y de 0 à 450 - 50 (hauteur de l'écran - la hauteur de l'image),
  • je précise la largeur (50) et la hauteur (50) de l'image de la balle.

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 :

  • ajoute une étiquette pour afficher le nombre de balles ramassées.

Retour à l'activité : mon programme Tennis

icn/codetennis_04.txt · Dernière modification: 2016/10/17 13:16 (modification externe)