Contenu du cours
Jeu de Combat dans Unity
Jeu de Combat dans Unity
Arriè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.
Merci pour vos commentaires !