Tu as déjà une Base Solide pour ton Space Invaders ! Avec des déplacements pour le Joueur et les Obstacles qui tombent du ciel ! Bravo ! On va maintenant ajouter des éléments supplémentaires 🙂
Maintenant que tu sais comment faire des obstacles, tu peux ajouter des ennemis!
Les ennemis fonctionnent exactement comme des obstacles: Ils vont tout droit et détruisent le joueur quand ils le touchent.
Les seules différences sont que:
Reproduis ce que tu as appris en faisant les obstacles! Fais-donc un prefab Ennemi et assigne-lui les scripts qu’il faut (avancer tout droit + détruire le joueur) avec bien sûr les composants nécessaires à la collision (rigidbody + colliders). Tu n’as pas besoin de réécrire du code vu que tu as déjà fait tout ce qu’il faut en créant les obstacles!
Une fois que ton prefab est prêt duplique le générateur d’obstacles et remplace le prefab par celui de l’ennemi. Tu devrais maintenant avoir deux types de dangers à éviter!
C’est bien beau d’éviter les obstacles ET les ennemis mais cela serait plutôt sympathique de pouvoir riposter! N’aie crainte, petit maker intrépide. Ce guide est là pour t’armer… du savoir!
Tu vas apprendre comment faire un canon qui tire sur les ennemis! Laissons les obstacles indestructibles pour le moment!
Avant de pouvoir tirer, il faudra déjà des munitions! Alors créons un projectile en utilisant les éléments qu’on a déjà vu ensemble!
Si tu es satisfait de ton projectile, fais-en un prefab!
Maintenant que tu as un projectile tu devrais pouvoir pouvoir construire le canon!
Ajoute à ce sprite un nouveau script, qui servira à instancier un objet à chaque fois qu’on clique. Appelons ce script GenerateurAuClic ou quelque chose dans ce genre!
public class GenerateurAuClic : MonoBehaviour |
Il te suffit ensuite de glisser le prefab du projectile dans l’inspecteur:
Le canon devrait pouvoir tirer un projectile à chaque fois que tu cliques sur la souris! Tu peux même faire de ce canon un prefab et en faire un enfant de ton joueur!
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
Lors de la mort du Héros cela serait bien de redémarrer la scène !
On va créer un nouveau Script nommé “ChangerSceneQuandCibleDetruite” par exemple.
En premier lieu il va falloir dire à Unity via le Script qu’on va manipuler les scènes (c’est la 4ème ligne) :
using System.Collections; |
Puis on va déclarer deux public, l’un qui ciblera le joueur et l’autre la scène en cours :
public GameObject cible; // objet qui va déclencher le changement de scène une fois détruit |
Puis dans l’Update on va faire l’action de redémarrer la scène si la cible est détruite :
void Update() |
On peut sauvegarder tout de suite le Script, le donner à un objet de la scène comme un Empty Object créé pour l’occasion. Et renseigner les informations dans l’inspector. A savoir glisser le Héros et écrire le nom de la scène actuelle.
Et avant de tester l’action on doit réaliser une dernière action :
Dans File > Build settings on va glisser la scène dans la fenêtre