Leçon 7 : les balles


Dans cette leçon nous allons commencer par faire spawner les balles, puis ensuite nous les feront bouger. Ensuite nous enlèverons de la vie aux ennemis.

Lorsque q'un ennemi entre dans la zone que nous avons dessiné autour de la tour, nous souhaitons lui tirer dessus.
Première étape : Lorsqu'un ennemi entre dans la région de la tour, nous allons spawner une balle.

1) Créer un acteur balle

File> Import ressource
Choisir cette image :
external image Bullet.png

Penser à respecter les étapes donner dans la leçon 2 ( groupes de collisions et boite de collisions)
Ici la balle doit entrer en collision avec les ennemis.

2) Designer une nouvelle behavior "homing device" ou " missile à tête chercheuse"
Aller dans la dashboard et créer une nouvelle actor behavior
Attacher cette behavior à la balle
Nous reviendrons coder dans cette behavior à l'étape 4.



3)Faire spawner notre acteur balle (bullet)

Attention : ici nous modifions l'étape 6 de la leçon 4
De plus, nous avons créer une variable pour la région dans la leçon 4, nous allons l'utiliser ici.

Dans la behavior de la tour
Dans l'évènement de type "Quand l'ennemi entre dans la région"
Ajouter le bloc "create recycled" et le compléter comme dans la capture d'écran ci-dessous.
Le bloc create recycled créer un nouvel élément ( spawner) et permet de la recycler une fois qu'il est détruit afin de ne pas encombré inutilement la mémoire de l'ordinateur.
Supprimer le custom block (make self shoot the actor) que nous avions créer dans la leçon 6.

spawn une balle.png

Tester. Une balle doit apparaître quand un ennemi pénètre dans la région de la tour.


4) Faire bouger la balle
Dans la behavior de la balle (homing device)
Ajouter un événement Always ( when updating)
Insérer la behavior velocity. Lui donner un angle et une vitesse comme ci-dessous.
Tester : les tours doivent spawner une balle qui se déplace vers le bas lorsqu'un acteur passe.
velocity ok.png

5) Produire des dommages sur les ennemis
Dans la behavior de la balle balle
Ajouter un évènement "quand un acteur collide avec un acteur de type..."
Insérer la behavior Damage ( qui vient du Health manager, voir leçon 5)
Insérer un print afin de pouvoir débugger
Recycler la balle ( cela la détruit).
Attention : vérifier les collisions. En cas de problème mettre la balle en sensor (capture d'écran ci-dessous)

hit ennmi.png

Tester : les ennemis doivent perdre de la vie s'ils sont touchés.
Remarque : mettre beaucoup de tours, ou modifier la taille de la boite de collision de la balle, afin de réussir à toucher les ennemis !


Sensor :
sensor.png