I. Introduction▲
Cette série explique pas à pas la création d'un contrôleur pour le mouvement d'un personnage dans un jeu de plateformes 2D.
Vous pouvez retrouver les autres épisodes de cette série dans le sommaire dédié.
II. Vidéo▲
Unity - Contrôleur pour personnage d'un jeu de plateformes - Script du joueur
III. Résumé▲
Dans cet épisode, nous allons implémenter le script pour contrôler le joueur.
III-A. Mise en place du joueur▲
Le joueur possède les composants suivants :
Pour contrôler le joueur, nous ajoutons un script « PlayerPlatformerController.cs ».
III-B. Script▲
Le script hérite de la classe PhysicsObject que nous avons mise en place dans les épisodes précédents. Nous ajoutons une fonction ComputeVelocity() (surcharge de la fonction du même nom de la classe PhysicsObject) qui se chargera de calculer la vélocité à appliquer au personnage suivant les actions du joueur :
using
System.
Collections;
using
System.
Collections.
Generic;
using
UnityEngine;
public
class
PlayerPlatformerController :
PhysicsObject {
public
float
maxSpeed =
7
;
public
float
jumpTakeOffSpeed =
7
;
protected
override
void
ComputeVelocity
(
)
{
Vector2 move =
Vector2.
zero;
move.
x =
Input.
GetAxis (
"Horizontal"
);
if
(
Input.
GetButtonDown (
"Jump"
) &&
grounded) {
velocity.
y =
jumpTakeOffSpeed;
}
else
if
(
Input.
GetButtonUp (
"Jump"
))
{
if
(
velocity.
y >
0
) {
velocity.
y =
velocity.
y *
0
.
5f
;
}
}
targetVelocity =
move *
maxSpeed;
}
}
L'annulation du saut est traitée en réduisant la vélocité au moment où le joueur relâche le bouton de saut.
IV. Ressources▲
Vous pouvez télécharger les ressources pour ce projet ici.
V. Commenter▲
Vous pouvez commenter et donner vos avis dans la discussion associée sur le forum.