IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Unity Discussion :

Input.GetKeyDown(KeyCode.E) ne répond pas [Unity 5]


Sujet :

Unity

  1. #1
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juillet 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Juillet 2019
    Messages : 9
    Points : 11
    Points
    11
    Par défaut Input.GetKeyDown(KeyCode.E) ne répond pas
    version unity : 2021.3.4f1
    Windows 10.

    Bonjour à tous.
    Je m'arrache les cheveux avec le petit code suivant.
    Je viens de créer un projet pour tester la commande basique de détection de touche appuyée.
    J'ai un plane et une capsule
    J'ai le script suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
     
    public class input : MonoBehaviour
    {   
              // Update is called once per frame
        void Update()
        {
            if (Input.GetKeyDown(KeyCode.E))
            {
                Debug.Log("Touche 'E' appoyée");
            }
        }
    }
    Niveau code, on ne peut plus simple mais...ca ne fonctionne pas.
    Par souci de sécurité, je l'ai attaché à tous mes gameObjet (capsule, camera et plan) mais ma console me dit nada. Rien ne s'affiche.
    Pourtant , je ne pense pas faire d'erreur.
    Quelqu'un pourrait il me renseigner ?
    Un grand merci d'avance.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 116
    Points : 32 968
    Points
    32 968
    Billets dans le blog
    4
    Par défaut
    Tu testes comment et t'attends à quel résultat ?
    Extrait de la documentation :
    Returns true during the frame the user starts pressing down the key identified by name.

    Call this function from the Update function, since the state gets reset each frame. It will not return true until the user has released the key and pressed it again.
    Donc le log devrait apparaître quand tu presses le bouton, 1 fois, et pas à chaque frame où il est enfoncé.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 641
    Points : 2 160
    Points
    2 160
    Par défaut
    Bonsoir,

    Question bête, est-ce que tu n'aurais pas masqué les messages de la console ?

    Tu peux vérifier en regardant et en cliquant ces petites icones dans le coin

    Nom : Mw2WLjI.png
Affichages : 333
Taille : 1,5 Ko

    Car comme tu l'as dit, il n'y a aucune raison pour que ça ne marche pas et je ne vois potentiellement que ça.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juillet 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Juillet 2019
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Même si ca doit apparaitre qu'une fois, la ca n'apparait aucune fois.
    J'ai vérifié si je ne masquais pas les messages de la console, à priori non.
    Je vais essayer demain avec une autre version d"unity, au cas où mais je pense qu'il doit y avoir autre chose.
    Merci pour votre implication.

  5. #5
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 641
    Points : 2 160
    Points
    2 160
    Par défaut
    Bonjour,

    je pensais au possible cas ou tu utiliserais le nouveau système d'Input Manager mais si c'était le cas, Unity envoie clairement un message d'erreur explicite.

    Vérifie aussi si le script lui même est toujours bien attaché, pas décoché et l'objet lui-même est actif dans la scène, ce truc de truc. Un oublie est vite arrivé.

    Sinon essaye de mettre autre chose dans ton code, comme le fait d'activer ou désactiver un cube, pour voir si ce n'est pas la console elle-même qui est flinguée.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juillet 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Juillet 2019
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Oula, le nouveau Input Manager...regarde mon pseudo ;
    Script attaché a tous les objets de la scène...

    Alors j'ai regardé avec la version que j'ai au taf : 2020.3.36f
    Résultat des courses, même problème...jusqu'à ce que j'examine, en profondeur, la console.
    Là, 4 onglets : Clear, Collapse, Error_Pause, Editor.
    Dans ce dernier, plusieurs possibilités d'actions :
    1) Player Logging
    2) Full Log (Developer Mode Only)
    3) Editor
    4) Enter IP
    Dans cet onglet Editor, 2 actions étaient cochées, la 1) et 3). J'ajoute la 2) et mon message s'affiche correctement dans ma console à chaque fois que j'appuie sur la touche E.
    Alors, il me semble que c'ést une nouvelle installation, du coup, j'ai un doute sur le fait que cette option 2) ne soit pas cochée par défaut. Ceux qui utilisent, c'est bien souvent des développeurs, non ?
    Bref, reste à tester chez moi pour vérifier que c'est bien le problème...que je mettrais en résolu dès la vérification faite.
    Encore merci à tous.

    PS : le fait que la console m'affichait les éventuelles erreurs de code m'a trompé

  7. #7
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juillet 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Juillet 2019
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Bon, j'ai crié victoire un peu vite, ca ne fonctionne toujours pas chez moi...
    Cependant, si j'ajoute dans le Update, juste la commande suivante :
    La console l'affiche bien.
    Une idée ?

  8. #8
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 641
    Points : 2 160
    Points
    2 160
    Par défaut
    Bonjour,

    J'ai déjà chez certaines personnes, même dans des versions Unity récentes, que cette méthode avec un *KeyCode* comme paramètre, ça ne marche pas (pour d'obscurs raisons).

    Tu peux toujours essayer :

    Si ça ne marche toujours pas, je suis à court d'idée là.

  9. #9
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 386
    Points
    20 386
    Par défaut
    @Nulleunity : je n'ai pas Unity sous la main mais cet outil fonctionne peut-être en deux modes: debug et release.
    En mode release les instructions de débogages ne fonctionnent pas, optimisation oblige.
    Donc vérifier les options du projet.
    Regarder cette page -

  10. #10
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juillet 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Juillet 2019
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    @PixelJuice : ne fonctionne toujours pas

    @Mat.M : possible mais pourquoi la commande s'afficherait dans la console et pas l'autre ?
    J"ai un peu regardé les options du projet, je n'ai rien vu de louche...mais mon anglais est peut être un peu usé...Peut être qu'il faudrait que je me tourne vers le plug-in que tu m'as conseillé mais c'est quand même louche qu'il fasse passer par la

  11. #11
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 386
    Points
    20 386
    Par défaut
    une question: est-ce que vous utilisez Unity tout seul ou avec un autre outil de développement ?
    Peut-être qu'il faudrait installer ne serait-ce que Visual Studio Code pour avoir plus d'infos de débogage

  12. #12
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juillet 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Juillet 2019
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    J'utilise Visual Studio 2019 pour les scripts (celui fournit avec Unity).
    C'est différent de Visual Studio Code ?

  13. #13
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 386
    Points
    20 386
    Par défaut
    Citation Envoyé par NullenUnity Voir le message
    J'utilise Visual Studio 2019 pour les scripts (celui fournit avec Unity).
    c'est une chose qu'il fallait préciser ! Donc pas besoin de Visual Studio Code.
    Il faut compiler en Debug et non en release.
    Par contre le programme va tourner plus lentement évidemment.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juillet 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Juillet 2019
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Alors, j'ai la réponse.
    J'avais ancré ma console à côté de mon onglet Game (pour éviter d'avoir une fenêtre en plus).
    Mon script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
     
    public class touche : MonoBehaviour
    {
        // Start is called before the first frame update
        void Start()
        {
     
        }
     
        // Update is called once per frame
        void Update()
        {
            //Debug.Log("test");
            if(Input.GetButtonDown("Jump"))
            {
                Debug.Log("touche appuyée");
            }
        }
    }
    En vue Game, tout fonctionne...en même temps, avec une caméra et une lumière...
    Par contre, si je passe sur l'onglet console, ca ne fonctionne plus, j'appuie sur la barre d'espace, rien ne se passe...mais elle affiche bien le nombre de fois ou j'ai appuyé sur la barre d'espace avant de changer d'onglet.
    Je "désancre" ma console de la vue Game et la ca fonctionne bien, a chaque fois que j'appuie sur la barre d'espace, ca s'affiche dans ma console.
    Pour le GetKeyDown, ca fonctionne aussi.
    Du coup, va falloir que je trouve un endroit où mettre ma console
    Dans tous les cas, merci pour l'aide apportée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. htpasswd ne répond pas ce que je veux
    Par lodan dans le forum Apache
    Réponses: 8
    Dernier message: 09/09/2006, 06h58
  2. [VB.NET]Form qui ne répond pas
    Par Pocel dans le forum Windows Forms
    Réponses: 5
    Dernier message: 17/07/2006, 10h42
  3. keyCode qui ne fonctionne pas
    Par magdalena dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 16/06/2006, 15h25
  4. [c#]fênetre ne répond pas
    Par le_ben dans le forum Windows Forms
    Réponses: 3
    Dernier message: 22/03/2006, 13h26
  5. [TOMCAT] Tomcat ne répond pas au bout de quelques jours
    Par Bartuk dans le forum Tomcat et TomEE
    Réponses: 7
    Dernier message: 02/03/2006, 17h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo