.. include:: /index.rst :start-after: start_hello_message :end-before: end_hello_message Projet ludique 6 : La balle sensible à la distance ================================================== Dans ce projet, nous utilisons un module ultrasonique pour contrôler le mouvement vertical d'une balle sur la scène. Lorsque vous cliquez sur le drapeau vert, placez votre main au-dessus du module ultrasonique. La balle montera si la distance entre votre main et le module est inférieure à 15 cm ; sinon, elle descendra. Lorsque la balle entre en contact avec une ligne, elle déclenche un son agréable et active des effets scintillants d'étoiles. .. raw:: html Suivez ces étapes pour mettre en place le projet, et n'hésitez pas à modifier les effets à votre guise une fois que vous êtes habitué à son fonctionnement. 1. Sélectionner les sprites --------------------------- * Supprimez le sprite par défaut et sélectionnez les sprites **Ball**, **Bowl** et **Star**. .. image:: img/ball_choose_sprite.png * Positionnez le sprite **Bowl** au centre en bas de la scène et augmentez sa taille. .. image:: img/ball_set_bowl.png * Placez le sprite **Ball** directement au-dessus du sprite **Bowl**, en définissant sa direction à 0 pour permettre un mouvement vertical. .. image:: img/ball_set_ball.png * Ajustez la taille du sprite **Star** et définissez sa direction à 180 pour qu'il tombe vers le bas. Cela peut être modifié selon d'autres angles si vous préférez. .. image:: img/ball_set_star.png * Ajoutez l'arrière-plan **Stars** pour plus d'ambiance. .. image:: img/ball_select_backdrop.png 2. Dessiner un sprite **Line** ------------------------------ * Ajoutez maintenant un sprite **Line**. .. image:: img/ball_select_line.png * Allez dans l'onglet **Costumes** du sprite **Line**. .. image:: img/ball_open_cos.png :width: 90% * Réduisez légèrement la largeur de la ligne rouge sur le canevas, dupliquez-la quatre fois et alignez ces lignes. .. image:: img/ball_copy_line.png :width: 90% * Colorez chaque ligne différemment. Sélectionnez une ligne, utilisez l'outil **Remplissage** et choisissez une couleur. .. image:: img/ball_set_bk_color.png :width: 90% * Appliquez cette méthode pour colorer toutes les lignes. .. image:: img/ball_select_line_color.png :width: 90% * Revenez à la page **Code** et positionnez le sprite **Line** en haut de la scène. .. image:: img/ball_line_position.png 3. Programmer le sprite **Ball** -------------------------------- Ici, nous programmons le sprite **Ball** pour qu'il monte ou descende en fonction de la distance détectée par le module ultrasonique, avec une contrainte de mouvement pour simuler l'atterrissage sur le sprite **Bowl**. * Lorsque le drapeau vert est cliqué, définissez la position initiale du sprite **Ball**. .. image:: img/ball_script_ball1.png * Utilisez un bloc [if else] pour vérifier si la distance est inférieure à 15. Si c'est vrai, déplacez le sprite **Ball** de 10 pas vers le haut, étant donné que sa direction est définie à 0. .. image:: img/ball_script_ball3.png * Sinon, laissez le sprite **Ball** tomber, en limitant sa coordonnée Y à un minimum de -100, ajustable pour donner l'impression qu'il atterrit sur le sprite **Bowl**. .. image:: img/ball_script_ball4.png * Programmez l'interaction où le sprite **Ball**, en touchant le sprite **Line**, enregistre sa position Y dans la variable **ball_coor** et diffuse un message **bling**. .. image:: img/ball_script_ball5.png 4. Programmer le sprite **Star** -------------------------------- * Masquez d'abord le sprite **Star** lorsque le drapeau vert est cliqué. À la réception du message **Bling**, clonez le sprite **Star**. .. image:: img/ball_script_star1.png * Définissez la position et les effets sonores du clone pour les synchroniser avec la position du sprite **Ball**. .. image:: img/ball_script_star2.png * Faites-le pivoter aléatoirement entre -80 et 80 degrés. .. image:: img/ball_script_star3.png * Ajustez l'apparence et le comportement du sprite **Star** selon les besoins pour améliorer l'effet visuel. .. image:: img/ball_script_star4.png La programmation est terminée. Cliquez sur le drapeau vert pour exécuter le script et voir s'il répond à vos attentes. .. raw:: html