Shoot'Em Up

Tu vas pouvoir transformer ton projet Space Invaders avec ses déplacements de gauche à droite en jeu aux mouvements beaucoup plus libre ! 

Sur cette page tu trouveras :

      •  

Nouveau Projet / Export Package

Ce module de découverte Unity t’a permis de prendre la main sur Unity avec un premier jeu de Space Invaders. Tu vas maintenant voir comment tu vas pouvoir récupérer les éléments que tu as appris jusque-là pour pousser ton jeu encore plus loin. Jeu Exemple : ici

Création d’un nouveau projet

Pour ce nouveau jeu, tu vas devoir créer un nouveau projet 2D! Mais ne t’en fais pas, cela ne veut pas dire qu’on recommence tout à zéro, bien au contraire! Tu vas voir comment tu vas pouvoir transférer tes scripts et tes prefabs d’un projet à l’autre.

 

Transférer des assets depuis le précédent projet: la magie des packages! 

Avant de quitter le projet précédent, tu vas exporter les éléments que tu vas récupérer pour ce nouveau projet. Rassemble tous tes scripts dans un même dossier puis exporte ce dossier en un package

Tu vas pouvoir réimporter ce même package juste après avoir créé ton projet!

 

Crée ton nouveau projet 2D

Tu connais déjà cette étape! Tu peux suivre les instructions du projet précédent si jamais tu ne t’y retrouves pas!  Trouve un nom original pour ce projet de shooter! 

Une fois que ton projet a été créé, n’oublie pas de réimporter le package que tu viens d’exporter afin de récupérer tous tes scripts. Il te suffit de le glisser à nouveau dans tes assets!

N’oublie pas non plus de réimporter les assets fournies par Magic Makers pour que tu puisses piocher dedans!

Nouveau Controller pour le Joueur

Tu vas littéralement t’ouvrir à une nouvelle dimension! Au lieu de se déplacer horizontalement, le joueur va enfin pouvoir se déplacer dans toutes les directions! Cela veut dire qu’il va falloir coder un nouveau contrôleur! 

 

Placer le joueur sur la scène

Tout d’abord, avant de penser à contrôler le joueur, il faut déjà placer le joueur! Choisis un sprite pour représenter ton personnage et place le sur la scène!

Attention cependant! Pour cette fois-ci il va falloir placer le sprite en tant qu’enfant d’objet vide! Cette hiérarchie est  importante à respecter parce qu’elle nous permettra plus tard de faire pivoter le sprite vers la souris

Déplacer le joueur dans toutes les directions

Sélectionne l’objet vide qui contient le joueur et ajoute-lui un nouveau script appelé MouvementJoueurToutesDirections

public class MouvementJoueurToutesDirections : MonoBehaviour
{
    public float vitesse = 1f;
    void Update()
    {
        Vector2 mouvement;
        mouvement.x = Input.GetAxis(« Horizontal »);
        mouvement.y = Input.GetAxis(« Vertical »);  

        transform.Translate(mouvement * Time.deltaTime * vitesse); 
    }
}

Le joueur arrive maintenant à se déplacer dans toutes les directions! 

Orienter le joueur vers la souris

Une autre fonctionnalité qu’on aimerait ajouter à notre joueur est la capacité de se tourner vers la souris! 

Cela se fait en deux étapes: 

  • Créer un objet Souris
  • Faire tourner le sprite du joueur vers cet objet à l’aide d’un script

 

L’objet Souris

Pour se tourner vers la souris, le joueur a besoin d’un objet présent sur la scène qui indique la position de la souris. 

  • Crée un objet vide que tu appelles Souris
  • Ajoute-lui un nouveau script appelé SuivreLaSouris ou PositionneSurLaSouris

void Update()
{
    transform.position = Camera.main.ScreenToWorldPoint(Input.mousePosition);
}

Cette ligne de code permet de placer l’objet sur l’endroit où pointe la souris.

 

Pointer vers une cible

Il faut maintenant écrire le script qui fera pointer le sprite du joueur vers la souris. Fais bien attention à ajouter ce script au sprite du joueur et non à l’objet vide qui le contient.

Tu peux appeler ce script PointerVersCible

public class PointerVersCible : MonoBehaviour
{
    public Transform cible;

    void Update()
    {
        Vector2 direction = (cible.position – transform.position).normalized;
        transform.up = direction;
    }
}

Ce script va pointer le sprite en direction de l’objet qu’on assigne en inspecteur! Pour que ça marche, n’oublie pas de glisser l’objet Souris dans le champ Cible.

Ennemis

Créer des tourelles

Défi: En utilisant les scripts que tu as déjà codés, trouve un moyen de construire des tourelles qui pointent vers le joueur et lui tire dessus!

 

Ennemi se dirigeant vers le joueur

  • Script AllerDevant
  • Script PointerVersUneCible en assignant le joueur
Retour en haut