[RESOLU] Script de déplacement
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
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
- boubouk50
- ModoGenereux
- Messages : 6214
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Script de déplacement
Tu n'entres pas dans la condition donc:
soit tu perds les Input (ce que je doute mais teste quand même) -> Debug.Log ("Input Espace: " + Input.GetButtonDown("Submit"));
soit timerScript.tempsUp = vaut true -> Debug.Log ("Time's up: " + timerScript.tempsUp);
soit tu perds les Input (ce que je doute mais teste quand même) -> Debug.Log ("Input Espace: " + Input.GetButtonDown("Submit"));
soit timerScript.tempsUp = vaut true -> Debug.Log ("Time's up: " + timerScript.tempsUp);
"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
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
-
- Messages : 36
- Inscription : 01 Mars 2016 19:44
Re: Script de déplacement
Salut,
J'ai suivi tes conseil voila ce qui se passe
Lors du premier lancement tout va bien. La console m'affiche bien que IsGrounded = True, TimeUp = false et Input Espace : true.
Au deuxième lancement après être tombé dans l'eau, le problème persiste et la console m'affiche : IsGrounded = true,
TimeUp = false, en revanche il ne me renvoi pas le message des Input.
Je pense donc que tu a raison je doit perdre les Input au re-lancement de la scene.
J'ai suivi tes conseil voila ce qui se passe
Lors du premier lancement tout va bien. La console m'affiche bien que IsGrounded = True, TimeUp = false et Input Espace : true.
Au deuxième lancement après être tombé dans l'eau, le problème persiste et la console m'affiche : IsGrounded = true,
TimeUp = false, en revanche il ne me renvoi pas le message des Input.
Je pense donc que tu a raison je doit perdre les Input au re-lancement de la scene.
Re: Script de déplacement
Bonjour,
Juste pour essayer, remplace ton if :
par celui-ci :
Juste pour essayer, remplace ton if :
Code : Tout sélectionner
if(Input.GetButtonDown("Submit"))
Code : Tout sélectionner
if( Input.GetKeyDown( KeyCode.Space ) )
-
- Messages : 36
- Inscription : 01 Mars 2016 19:44
Re: Script de déplacement
Bonjour,
J'ai essaye de remplacer le "SUBMIT" avec la touche "ESPACE". Le problème est le meme. Des que l'on tombe dans l'eau, je ne peut plus sauter.
J'ai oublier de spécifier dans mon message d'hier matin, que lorsque je lance la scene pour la premiere fois, la console affiche
IsGrounded = true, TimeUp = false et Input Espace : true. Des lors que j'appuie sur le touche ENTRER par exemple, le joueur saute la console affiche IsGrounded = false ( IsGrounded devient false quand j'appuie sur ma touche)
Je tombe dans l'eau, la scene se relance, a ce moment la, la console affiche Isgrounded = true, TimeUp = false comme je l'ai dit hier il ne me renvoi pas le message Input Espace : true. En revanche, lorsque j'appuie sur ma touche de saut, la console affiche IsGrounded = false, donc je pense que l'input doit encore être pris en compte puisque c'est lui qui va faire en sorte que IsGrounded = false
J'ai essaye de remplacer le "SUBMIT" avec la touche "ESPACE". Le problème est le meme. Des que l'on tombe dans l'eau, je ne peut plus sauter.
J'ai oublier de spécifier dans mon message d'hier matin, que lorsque je lance la scene pour la premiere fois, la console affiche
IsGrounded = true, TimeUp = false et Input Espace : true. Des lors que j'appuie sur le touche ENTRER par exemple, le joueur saute la console affiche IsGrounded = false ( IsGrounded devient false quand j'appuie sur ma touche)
Je tombe dans l'eau, la scene se relance, a ce moment la, la console affiche Isgrounded = true, TimeUp = false comme je l'ai dit hier il ne me renvoi pas le message Input Espace : true. En revanche, lorsque j'appuie sur ma touche de saut, la console affiche IsGrounded = false, donc je pense que l'input doit encore être pris en compte puisque c'est lui qui va faire en sorte que IsGrounded = false
Re: Script de déplacement
Peux-tu, une nouvelle fois, nous donner l'ensemble du code (avec le nom de chaque fichier et classe ) correctement afficher entre balise code?
-
- Messages : 36
- Inscription : 01 Mars 2016 19:44
Re: Script de déplacement
Donc voici le code qui s'occupe de la variable IsGrounded :
et voici le code qui me permet de sauter :
Code : Tout sélectionner
var objetSol : GameObject; // C'est l'objet qui va percuter le sol
static var IsGrounded : boolean = true;
function Start(){
IsGrounded = true;
}
function OnTriggerEnter(objetSol : Collider){
if(objetSol.gameObject.tag == "Player"){
IsGrounded = true;
print ("IsGrounded = true");
}
}
function Update(){
if(Input.GetKeyDown(KeyCode.Space)){
IsGrounded = false;
print ("IsGrounded = false");
}
}
Code : Tout sélectionner
var vitesseDeplacement = 6.0;
function Start(){
timerScript.tempsUp = false;
print("Time's up: " + timerScript.tempsUp);
}
function Update () {
if(Input.GetKeyDown(KeyCode.Space) && IsGrounded.IsGrounded == true && timerScript.tempsUp == false){
GetComponent.<Rigidbody>().AddForce(0, vitesseDeplacement * 8, 0);
print("Vous sautez");
print("Input Espace: " + Input.GetKeyDown(KeyCode.Space));
}
}
Re: Script de déplacement
Déjà, j'avais écrit :"avec le nom de chaque fichier et classe"... où sont les noms de fichier et classe?
De ce que tu nous montre, il y a un truc qui ne va pas. Dans le premier bout de code (sans nom de fichier ni classe) il y a :
C'est dans cet "Update()" que tu teste si le joueur appui sur une touche pour faire sauter le personnage. Donc il ne faut pas re-tester ailleurs dans le code l'appui d'une touche. Et pourtant c'est ce que tu fais dans cet autre bout de code (toujours sans nom de fichier ni classe)
C'est peut-être pas ça qui bloque mais déjà ça sera plus propre de corriger.
Remplace ton code par celui-là:
Lance le jeu, saute dans l'eau et reviens nous écrire ce qu'il y a dans la console => EN FAISANT UN COPIER/COLLER EXACTE de ce qu'il y a dans la console.
De ce que tu nous montre, il y a un truc qui ne va pas. Dans le premier bout de code (sans nom de fichier ni classe) il y a :
Code : Tout sélectionner
function Update(){
if(Input.GetKeyDown(KeyCode.Space)){
IsGrounded = false;
print ("IsGrounded = false");
}
}
Code : Tout sélectionner
function Update () {
if(Input.GetKeyDown(KeyCode.Space) && IsGrounded.IsGrounded == true && timerScript.tempsUp == false){
GetComponent.<Rigidbody>().AddForce(0, vitesseDeplacement * 8, 0);
print("Vous sautez");
print("Input Espace: " + Input.GetKeyDown(KeyCode.Space));
}
}
Remplace ton code par celui-là:
Code : Tout sélectionner
function Update(){
if(Input.GetKeyDown(KeyCode.Space)){
Debug.Log ("IsGrounded = "+IsGrounded);
IsGrounded = false;
Debug.Log ("IsGrounded = "+IsGrounded);
}
}
Code : Tout sélectionner
function Update () {
Debug.Log("IsGrounded.IsGrounded = " + IsGrounded.IsGrounded );
Debug.Log("timerScript.tempsUp = " + timerScript.tempsUp );
if(IsGrounded.IsGrounded == true && timerScript.tempsUp == false){
Debug.Log("Dans le If()");
GetComponent.<Rigidbody>().AddForce(0, vitesseDeplacement * 8, 0);
}
}
-
- Messages : 36
- Inscription : 01 Mars 2016 19:44
Re: Script de déplacement
Salut,
Désolé je pensait avoir envoyé le nécessaire.
Pour être sur de ne pas renvoyer n'importe quoi,
Par le nom du fichier, tu attends le nom de mon script ?
Et je ne comprends pas ce que tu veut dire par classes ?
Désolé je pensait avoir envoyé le nécessaire.
Pour être sur de ne pas renvoyer n'importe quoi,
Par le nom du fichier, tu attends le nom de mon script ?
Et je ne comprends pas ce que tu veut dire par classes ?
Re: Script de déplacement
Bonjour,
Le nom du fichier est le nom du script. Un script est un fichier. Le nom du script est le même que le nom du fichier (qui est le même que le nom de la classe en C#). C'est expliqué ici http://docs.unity3d.com/Manual/Creating ... ripts.html. Il y a une différence entre C# et javascript mais le principe reste le même.
Le nom du fichier est le nom du script. Un script est un fichier. Le nom du script est le même que le nom du fichier (qui est le même que le nom de la classe en C#). C'est expliqué ici http://docs.unity3d.com/Manual/Creating ... ripts.html. Il y a une différence entre C# et javascript mais le principe reste le même.
-
- Messages : 36
- Inscription : 01 Mars 2016 19:44
Re: Script de déplacement
Salut,
J'ai recopié tes codes, seulement il y avait un problème,je devais remplacer le premier code que tu m'a donné mais du coup la balle partait en l'air sans que je n'appuie sur ESPACE car elle n'était plus entré comme variable dans le script.
Du coup j'ai un peu bidouillé avec les codes que tu m'a donné et sa a résolu mon problème.
Merci beaucoup pour ton aide
J'ai recopié tes codes, seulement il y avait un problème,je devais remplacer le premier code que tu m'a donné mais du coup la balle partait en l'air sans que je n'appuie sur ESPACE car elle n'était plus entré comme variable dans le script.
Du coup j'ai un peu bidouillé avec les codes que tu m'a donné et sa a résolu mon problème.
Merci beaucoup pour ton aide