# Shoot'em Up Unity
Objectif : Créer un jeu type shoot'em up (space invader) avec unity en visual scripting.
## Step 0 : Setup la scene

- creer un empty object
- le nommer Player
- creer une capsule en enfant
- tourner cette capsule comme ceci.
- cocher la case Is Trigger de son collider
- ajouter une camera et la placer pour avoir la capsule comme ceci.
## Step 1 : Controller le vaisseau
- Déplacement : Ajouter un script machine à l'objet player
- On calcule la nouvelle position

Le node delta time représente le temps d'execution de la dernière frame. Ce temps peut varier en fonction de la puissance des processeurs. Multiplier une valeur avec revient à l'uniformiser. Votre vaisseau bougera donc à une vitesse fixe, indépendante de la puissance de l'ordinateur.
Version C# :

- On limite les mouvements du vaisseau s'il sort de l'écran. ici j'ai fixé la limite haute à 4 et la basse à -4. Il s'agit de la position Y du vaisseau, adaptez cette valeur à votre jeu. 
## Step 2 : Tirer un projectil
- Créer un prefab
- Créer le projectil. Nous allons créer un prefab. C'est un objet préenregistré que nous allons pouvoir instatier à volonté dans le jeu.
- Pour cela, créer une sphere dans la scène, réduire sa taille à 0.3.
- Ajouter un rigidbody, désactiver la gravité
- Drag'n'drop cet objet dans le projet. Vous avez créé un prefab.
- Vous pouvez maintenant le supprimer de la scène.
- Ajouter un script visuel au projectil :
- 
- c# 
- Continuer le visual scripting du vaisseau.
- 
- c# 
- Glisser le prefab dans la variable bullet du player

## Step 3 : Shooter un ennemi
- Créer un ennemi
- créer un cube
- Ajouter un tag Bullet au prefab
- 
- Ajouter un tag Player au player
- Ajouter un tag Enemy à l'ennemi
- Cocher la case Is Trigger du collider de l'ennemi
- Ajouter un script enemy à l'ennemi
- 
- c# 
## Step 4 : Faire tirer l'ennemi
- Tourner de 180° sur Y l'enemy pour que son Forward fleche bleu pointe vers le joueur.
- Créer un empty object en enfant comme ceci. Il servira de point de spawn du projectil. nommez le gun.

- Modifier le script Enemy


- Remplissez les nouvelles variables

## Step 5 : Le joueur prend des dégats
- Ajouter un script sur la capsule enfant du player
- 
- modifier le tir du joueur. Modifier le point de spawn des bullets qu'il tir. Ajouter comme pour l'ennemie un objet empty "gun" en enfant du player et faire spawn les bullets de ce point.
## Fin