Comme pour les sprites, vous allez devoir créer un objet par élément de votre jeu. Nous allons d'abords créer chaque objet (raquette, mur, brique, balle), c'est important de créer chaque objet avant de commencer à les paramétrer en profondeur.
Une fois chaque objet créer nous allons nous intéresser à la raquette.
Tout d'abord dans l'évenement create de votre raquette, initialisez quatre variables : nb_brique à 0ismoving_right à 0ismoving_left à 0ismoving à 0
la première servira à savoir s'il reste des briques sur le terrain
et les trois autres seront utiles pour le contrôle des mouvement de la raquette.
sur l'évènement Step, entrez l'algorithme suivant :si nb_brique = 0{
alors restart la room;
}
ensuite créer un évènement "collision avec mur", et mettez comme le "bounce" avec les paramètre suivant : appliquer aux autre, précision précise, et rebondir sur tous les objet.
maintenant passons aux mouvement :pour tout ce qui concerne la gauche, créez un évènement left pressed et left released.Dans left pressed, implantez l'algo suivant :si ismoving =0{
start moving in a direction (droite, force -7, relative)
set variable ismoving_left to 1
set variable ismoving to 1
}
Ce bout de code signifie, que si la raquette ne bouge alors elle commence à se déplacer à gauche lorsque l'on appuie sur la flèche de gauche, il permet aussi d'empécher certain bug si jamais la flêche droite et la flèche gauche sont appuyées en même temps.
Pour left released le code ressemblera à ça :si ismoving_left = 1{
start moving in a direction (droite, 7, relative)
set variable ismoving_left to 0
set variable ismoving to 0
}
Sachez que le 7 est une valeur arbitraire, vous pouvez la changer à tout moment pour moduler la vitesse de votre raquette. Par contre n'oubliez pas que la vitesse lors du pressage de touche doit être l'opposée de celle lors du release.
Pour faire le déplacement vers la droite il suffit d'inverser la puissance de déplacement et de remplacer tout les ismoving_left, par des ismoving_right.
Et voilà vous n'aurez plus à toucher la raquette.