Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Arrière-Plan Généré Aléatoirement. | Améliorer le Jeu Flappy Bird
Jeu de Combat dans Unity

bookArrière-Plan Généré Aléatoirement.

Caméra suivant le joueur :

La classe CameraFollow permet à la caméra de suivre le joueur le long de l’axe x tout en conservant les positions initiales y et z de la caméra.

Méthodes :

Méthode Start :

private void Start()
{
    initialPosition = transform.position;
}

But : Initialise la variable initialPosition avec la position de départ de la caméra au lancement du jeu.

Méthode LateUpdate :

private void LateUpdate()
{
    initialPosition.x = player.transform.position.x;
    transform.position = initialPosition;
}

But : Met à jour la position de la caméra pour suivre le mouvement du joueur sur l’axe x.

Fonctionnement : initialPosition.x = player.transform.position.x; met à jour la coordonnée x de initialPosition pour correspondre à celle du joueur, et transform.position = initialPosition; définit la position de la caméra sur la nouvelle valeur de initialPosition, assurant ainsi le suivi du joueur sur l’axe x tout en conservant les positions y et z d’origine.

Explication de ParallaxBackground :

La classe ParallaxBackground permet à un élément d’arrière-plan, comme des nuages, de se répéter à l’infini afin de créer un effet de parallaxe dans un jeu 2D. L’arrière-plan se repositionne lorsque le joueur sort de ses limites, donnant ainsi l’illusion d’un arrière-plan sans fin.

Méthodes :

Méthode Start :

private void Start()
{
    width = GetComponent<BoxCollider2D>().bounds.size.x;
}

But : Initialise la variable width avec la largeur de l’élément d’arrière-plan.

Fonctionnement : GetComponent<BoxCollider2D>() récupère le composant BoxCollider2D attaché à l’élément d’arrière-plan, et .bounds.size.x obtient la largeur de la boîte englobante du collider, qui est ensuite stockée dans la variable width pour une utilisation ultérieure.

Méthode OnTriggerExit2D :

private void OnTriggerExit2D(Collider2D collision)
{
    if(collision.tag == "Player")
    {
        var position = transform.position;
        position.x += width * 2f;
        transform.position = position;
    }
}

But : Repositionnement de l’élément d’arrière-plan lorsque le joueur quitte ses limites, créant ainsi l’illusion d’un arrière-plan à défilement infini.

Fonctionnement : Lorsque le joueur quitte le collider trigger de l’élément d’arrière-plan (OnTriggerExit2D(Collider2D collision)), le script vérifie si le collider appartient au joueur (if(collision.tag == "Player")). Il ajuste la position de l’élément d’arrière-plan pour un défilement fluide en le décalant vers la droite de deux fois sa largeur (position.x += width * 2f;). Cet ajustement garantit que l’élément d’arrière-plan réapparaît de manière fluide après que son élément associé ait quitté l’écran.

Après le calcul de la nouvelle position, le script met à jour la position de l’élément d’arrière-plan (transform.position = position;). Ce mécanisme permet à l’arrière-plan de conserver un effet de défilement continu synchronisé avec les mouvements du joueur dans l’environnement du jeu.

Résumé :

  • Initialisation : La largeur de l’élément d’arrière-plan est calculée et stockée au démarrage du jeu ;
  • Repositionnement : Lorsque le joueur quitte les limites de l’élément d’arrière-plan, la position de l’élément est décalée vers la droite de deux fois sa largeur, créant un effet de boucle continue.

Cette configuration donne l’illusion d’un arrière-plan parallax infini en repositionnant de manière répétée les éléments d’arrière-plan au fur et à mesure que le joueur avance, assurant ainsi une expérience visuelle fluide et continue.

question mark

Que se passe-t-il avec la position de l'objet lorsque le joueur sort de son collider de déclenchement ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 2

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

bookArrière-Plan Généré Aléatoirement.

Caméra suivant le joueur :

La classe CameraFollow permet à la caméra de suivre le joueur le long de l’axe x tout en conservant les positions initiales y et z de la caméra.

Méthodes :

Méthode Start :

private void Start()
{
    initialPosition = transform.position;
}

But : Initialise la variable initialPosition avec la position de départ de la caméra au lancement du jeu.

Méthode LateUpdate :

private void LateUpdate()
{
    initialPosition.x = player.transform.position.x;
    transform.position = initialPosition;
}

But : Met à jour la position de la caméra pour suivre le mouvement du joueur sur l’axe x.

Fonctionnement : initialPosition.x = player.transform.position.x; met à jour la coordonnée x de initialPosition pour correspondre à celle du joueur, et transform.position = initialPosition; définit la position de la caméra sur la nouvelle valeur de initialPosition, assurant ainsi le suivi du joueur sur l’axe x tout en conservant les positions y et z d’origine.

Explication de ParallaxBackground :

La classe ParallaxBackground permet à un élément d’arrière-plan, comme des nuages, de se répéter à l’infini afin de créer un effet de parallaxe dans un jeu 2D. L’arrière-plan se repositionne lorsque le joueur sort de ses limites, donnant ainsi l’illusion d’un arrière-plan sans fin.

Méthodes :

Méthode Start :

private void Start()
{
    width = GetComponent<BoxCollider2D>().bounds.size.x;
}

But : Initialise la variable width avec la largeur de l’élément d’arrière-plan.

Fonctionnement : GetComponent<BoxCollider2D>() récupère le composant BoxCollider2D attaché à l’élément d’arrière-plan, et .bounds.size.x obtient la largeur de la boîte englobante du collider, qui est ensuite stockée dans la variable width pour une utilisation ultérieure.

Méthode OnTriggerExit2D :

private void OnTriggerExit2D(Collider2D collision)
{
    if(collision.tag == "Player")
    {
        var position = transform.position;
        position.x += width * 2f;
        transform.position = position;
    }
}

But : Repositionnement de l’élément d’arrière-plan lorsque le joueur quitte ses limites, créant ainsi l’illusion d’un arrière-plan à défilement infini.

Fonctionnement : Lorsque le joueur quitte le collider trigger de l’élément d’arrière-plan (OnTriggerExit2D(Collider2D collision)), le script vérifie si le collider appartient au joueur (if(collision.tag == "Player")). Il ajuste la position de l’élément d’arrière-plan pour un défilement fluide en le décalant vers la droite de deux fois sa largeur (position.x += width * 2f;). Cet ajustement garantit que l’élément d’arrière-plan réapparaît de manière fluide après que son élément associé ait quitté l’écran.

Après le calcul de la nouvelle position, le script met à jour la position de l’élément d’arrière-plan (transform.position = position;). Ce mécanisme permet à l’arrière-plan de conserver un effet de défilement continu synchronisé avec les mouvements du joueur dans l’environnement du jeu.

Résumé :

  • Initialisation : La largeur de l’élément d’arrière-plan est calculée et stockée au démarrage du jeu ;
  • Repositionnement : Lorsque le joueur quitte les limites de l’élément d’arrière-plan, la position de l’élément est décalée vers la droite de deux fois sa largeur, créant un effet de boucle continue.

Cette configuration donne l’illusion d’un arrière-plan parallax infini en repositionnant de manière répétée les éléments d’arrière-plan au fur et à mesure que le joueur avance, assurant ainsi une expérience visuelle fluide et continue.

question mark

Que se passe-t-il avec la position de l'objet lorsque le joueur sort de son collider de déclenchement ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 2
some-alt