Le code que j'ai est fait depuis un petit moment, le seul problème c'est que le saut ne marche pas, même si je met n'importe quelle code au niveau de la gravité ou de la vélocité...
code :
Code : Tout sélectionner
#pragma strict
//public variables
var speed:float;
var speedRun:float;
var speedRotate:float;
var gravity:float;
var jumpH = 8;
var isFalling = false;
//private variables
private var controller:CharacterController;
private var moveDirection:Vector3;
private var deltaTime:float;
private var characterContent:Transform;
private var walk:boolean;
private var run:boolean;
function Start () {
controller = GetComponent("CharacterController");
characterContent = transform.Find("Perso");
}
function Update () {
//Cadence du temps
deltaTime = Time.deltaTime;
//Deplacements Haut/bas
if(Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)){
moveDirection = Vector3(0,0,Input.GetAxis("Vertical") * speedRun);
run = true;
}
else{
moveDirection = Vector3(0,0,Input.GetAxis("Vertical") * speed);
walk = true;
}
if (Input.GetAxis("Vertical") > 0.1)
GetComponent.<Animation>().CrossFade ("walk");
else
GetComponent.<Animation>().CrossFade ("idle");
moveDirection = transform.TransformDirection(moveDirection);
//rotation du personnage
transform.Rotate(Vector3(0,Input.GetAxis("Horizontal") * speedRotate * deltaTime,0));
//Gravity
moveDirection.y -= gravity;
//Deplacement du Character Controller
controller.Move(moveDirection * deltaTime);
if(Input.GetKey(KeyCode.Space) && isFalling == false)
{
GetComponent.<Rigidbody>().velocity.y = jumpH;
isFalling = true;
}
}
function OnCollistionStay ()
{
isFalling = false;
}
Merci d'avance pour votre aide !