voilà je viens de modifier un de mes script de mouvement du joueurs seulement j'ai un soucis ...
Mon joueur ne saute pas :s
Code : Tout sélectionner
//Variable de déplacement du joueur
///// Vitesse de déplacement //////
var SpeedWalk : float;
var SpeedWalkLateral : float;
var SpeedWalkLateralRun : float;
var SpeedRun : float;
///// affectation des forces /////
var Gravity : float;
var JumpStrength : float;
////Affectation troisieme ou premiere Personnes/////
var FirstPersonController : boolean;
var ThirdPersonController : boolean;
private var FirstPersonControllerGo : GameObject;
private var ThirdPersonControllerGo : GameObject;
//camera 3eme ou 1er personne
private var ThirdPersonCamera : GameObject;
//character controler //
private var Controller : CharacterController;
//affectation des mouvement
private var MovePlayer : Vector3;
private var MovePlayerLateral : Vector3;
//Content pour animation
private var CharacterContent : GameObject;
//// Verification Divers ////
var Run : boolean;
var IsGrounded : boolean;
var Walk : boolean;
//variable de chutte
private var StartFallPositionY : int;
private var EndFallPositionY : int;
private var Chutte : boolean = false;
private var HauteurChute : float ;
//DIVERS //
private var DeltaTime : float;
function Start ()
{
CharacterContent = GameObject.Find("MAX");
ThirdPersonCamera = GameObject.Find("ThirdPersonCamera");
Controller = GetComponent("CharacterController");
FirstPersonControllerGo = GameObject.Find("FirstPersonController");
ThirdPersonControllerGo = GameObject.Find("ThirdPersonController");
ThirdPersonCamera.SetActive(false);
ThirdPersonControllerGo.SetActive(false);
FirstPersonControllerGo.SetActive(false);
FirstPersonController = true;
ThirdPersonController = false;
if(FirstPersonController == true)
{
Debug.Log("1er");
FirstPersonControllerGo.SetActive(true);
}
if(ThirdPersonController == true)
{
Debug.Log("3eme");
ThirdPersonControllerGo.SetActive(true);
ThirdPersonCamera.SetActive(true);
}
}
function Update()
{
DeltaTime = Time.deltaTime;
Run = false;
//Modification du controller 1er Personne ou 3eme Personne
if(Input.GetKeyDown(KeyCode.KeypadMultiply))
{
FirstPersonController = !FirstPersonController;
ThirdPersonController = !ThirdPersonController;
if(FirstPersonController == true)
{
ThirdPersonControllerGo.SetActive(false);
FirstPersonControllerGo.SetActive(true);
ThirdPersonCamera.SetActive(false);
}
else if(ThirdPersonController == true)
{
ThirdPersonControllerGo.SetActive(true);
ThirdPersonCamera.SetActive(true);
FirstPersonControllerGo.SetActive(false);
}
}
//Vérification Sur le joueurs
if(Controller.isGrounded)
{
IsGrounded = true;
}
else
{
IsGrounded = false;
}
if(Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift))
{
Run = true;
}
else
{
Run = false;
}
if(!Input.anyKey)
{
Walk = false;
}
//graviter
if(IsGrounded == true)
{
if(Run == true)
{
MovePlayer = Vector3(0,0,Input.GetAxis("Vertical") * SpeedRun);
MovePlayerLateral = Vector3(Input.GetAxis("Horizontal") * SpeedWalkLateralRun,0,0);
}
else
{
MovePlayer = Vector3(0,0,Input.GetAxis("Vertical") * SpeedWalk);
MovePlayerLateral = Vector3(Input.GetAxis("Horizontal") * SpeedWalkLateral,0,0);
}
}
MovePlayer.y -= Gravity;
MovePlayerLateral.y = MovePlayer.y;
MovePlayer = transform.TransformDirection(MovePlayer);
MovePlayerLateral = transform.TransformDirection(MovePlayerLateral);
//déplacé le joueurs
Controller.Move(MovePlayer * DeltaTime);
Controller.Move(MovePlayerLateral * DeltaTime);
//affichage des animations
if(!Walk && FirstPersonController == false)
{
//ajout animation
CharacterContent.GetComponent(Animation).CrossFade("idle", 0.2);
}
if(Input.GetKey(KeyCode.UpArrow))
{
if(!Run)
{
CharacterContent.GetComponent(Animation).CrossFade("walk", 0.2);
}
else
{
CharacterContent.GetComponent(Animation).CrossFade("run", 0.2);
}
}
if(Input.GetKey(KeyCode.Space))
{
MovePlayerLateral.y = JumpStrength;
}
if(IsGrounded == false && Chutte == false)
{
StartChutte();
}
else if(IsGrounded == true && Chutte == true)
{
EndChutte();
}
}
function StartChutte()
{
StartFallPositionY = gameObject.transform.position.y;
Chutte = true;
}
function EndChutte()
{
EndFallPositionY = gameObject.transform.position.y;
Chutte = false;
DamageChutte();
}
function DamageChutte()
{
HauteurChute = StartFallPositionY - EndFallPositionY;
if(HauteurChute > 1)
{
Playerstats.ApplyDammage(HauteurChute * 7);
}
}
Code : Tout sélectionner
MovePlayer.y -= Gravity;
MovePlayerLateral.y -= Gravity;
Merci