[Résolu] Problème avec le saut et le "run"

Pour les scripts écrits en Javascript (UnityScript). :!: Obsolète :!:
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6245
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Problème avec le saut et le "run"

Message par boubouk50 » 14 Avr 2016 11:23

Helias a écrit :C'est bizarre, il me coche les deux ... Je ne comprend pas réellement pourquoi ...
C'est normal, ta variable isFalling n'est pas une condition de la seconde condition.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Moi 1971
Messages : 727
Inscription : 29 Sep 2015 13:38

Re: Problème avec le saut et le "run"

Message par Moi 1971 » 14 Avr 2016 11:26

Helias a écrit :C'est bizarre, il me coche les deux ... Je ne comprend pas réellement pourquoi ...
Bha oui c'est dans l'update.. donc le code s’exécute plusieurs fois par seconde. un coup "isFalling" est vrai puis le coup d’après il est faut.. l'important c'est de comprendre dans quel ordre ça arrive et quel événement a fait changer la chose.

Moi 1971
Messages : 727
Inscription : 29 Sep 2015 13:38

Re: Problème avec le saut et le "run"

Message par Moi 1971 » 14 Avr 2016 11:28

boubouk50 a écrit :
Helias a écrit :C'est bizarre, il me coche les deux ... Je ne comprend pas réellement pourquoi ...
C'est normal, ta variable isFalling n'est pas une condition de la seconde condition.
Normaleent avec le else if() on ne teste le else que si le premier if est faut.

Helias
Messages : 22
Inscription : 14 Avr 2016 10:16
Contact :

Re: Problème avec le saut et le "run"

Message par Helias » 14 Avr 2016 11:30

Ah oui c'est bon ça marche ! merci pour vos réponses !

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6245
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Problème avec le saut et le "run"

Message par boubouk50 » 14 Avr 2016 11:31

Tout à fait.
As-tu des erreurs console?

Code : Tout sélectionner

#pragma strict
  
//public variables
var speed:float;
var speedRun:float;
var speedRotate:float;
var gravity:float;
var jumpH = 8f;
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)) {
     if (!isFalling){
       Debug.Log("Dans le Saut : jumpH = "+jumpH);
       GetComponent<Rigidbody>().AddForce ( transform.up * jumpH, ForceMode.Impulse); 
       isFalling = true;
    }
    else
    	Debug.Log("En l'air: isFalling = "+isFalling);
    } 
}

function OnCollisionStay(collisionInfo : Collision)
 {
    isFalling = false;
 }
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Moi 1971
Messages : 727
Inscription : 29 Sep 2015 13:38

Re: Problème avec le saut et le "run"

Message par Moi 1971 » 14 Avr 2016 11:33

Qu'est-ce qui marche, qu'as tu fait pour que cela fonctionne. En expliquant, ça peut servir à d'autres qui auront le même problème plus tard. ;-)

Helias
Messages : 22
Inscription : 14 Avr 2016 10:16
Contact :

Re: Problème avec le saut et le "run"

Message par Helias » 14 Avr 2016 17:12

Bah je viens de remarquer qu'une error vient de venir, mais en faite ce la ne marche pas du tout .... Hier pourtant le saut était venu.. Ah je sais, j'avais rajouté l'animation et non le saut, donc non mon problème n'est toujours pas résolu ....

Helias
Messages : 22
Inscription : 14 Avr 2016 10:16
Contact :

Re: Problème avec le saut et le "run"

Message par Helias » 14 Avr 2016 17:17

L'erreur y est aussi... En faite c'est ce code qui bug :

Code : Tout sélectionner

  if(Input.GetKey(KeyCode.Space)) {
     if (!isFalling){
       Debug.Log("Dans le Saut : jumpH = "+jumpH);
       GetComponent.<Rigidbody>().AddForce ( transform.up * jumpH, ForceMode.Impulse); 
       isFalling = true;
    }
    else
       Debug.Log("En l'air: isFalling = "+isFalling);
    } 
Précisément cette ligne :

Code : Tout sélectionner

GetComponent.<Rigidbody>().AddForce ( transform.up * jumpH, ForceMode.Impulse); 
Normalement vous ne rajoutez pas de point entre "GetComponent" et "<Rigidbody>" sauf que si on ne le fait pas il me sort des erreurs.

Je pense que au lieu de mettre dans une function update je devrai le mettre dans une function FixUpdate non ?

Merci d'avance pour vos réponses :)

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6245
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Problème avec le saut et le "run"

Message par boubouk50 » 14 Avr 2016 17:28

Bizarre.
Essaie

Code : Tout sélectionner

GetComponent (Rigidbody).AddForce (transform.up * jumpH, ForceMode.Impulse);
On est d'accord que le script est sur ton perso et qu'il possède un Component RigidBody.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Helias
Messages : 22
Inscription : 14 Avr 2016 10:16
Contact :

Re: Problème avec le saut et le "run"

Message par Helias » 14 Avr 2016 17:33

Tout à fait, je vous montre un screen.

Image

Verrouillé

Revenir vers « (Js) Javascript »