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 :
Pour | instruction |
---|---|
faire afficher une information dans la console Variables | |
cacher un objet UI controls | |
déplacer un objet UI controls |
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.
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
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 :
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() :
Comme il est maintenant possible de déplacer la balle dans ton application, comptabilise combien de fois elle est ramassée :