Forums - Adopte un VTP - Exemples : keyPressed, keyDown, keyUp, getAxis

Mots-clés : ,

  • This topic has 5 réponses, 2 participants, and was last updated il y a 2 years et 7 months by Anonyme. This post has been viewed 850 times
  • Anonyme  | Posté le 24 août 2021 à 11 h 48 min

    Bonjour,

    Je cherche à exploiter la fonction keyDown dans le cadre d’un tutoriel pour vérifier que le joueur a bel et bien appuyé sur le bouton escape.

    isPaused == keyDown(« escape »)

    Auriez-vous des exemples concrets d’usage de cette fonction, car dans mes tests, je ne parviens pas à modifier la valeur de la variable en vue d’orienter le scénario.

    Merci d’avance pour votre considération.

    Anonyme  | Posté le 24 août 2021 à 11 h 53 min

    Je viens de trouver une solution : il faut créer une boucle dans le graphe pour repasser par le bloc « keyDown » jusqu’à ce que le joueur appuie sur la touche en question.

    Julian Fremaux  | Posté le 24 août 2021 à 12 h 07 min

    Bonjour Gillian,

    Effectivement, les blocs variables et conditions vérifient la valeur des variables au moment où ils sont atteints. Pour avoir une condition temporaire, il faut faire boucler sur le bloc tant que la condition n’est pas remplie.

    Merci pour votre solution,
    Julian

    Anonyme  | Posté le 24 août 2021 à 12 h 24 min

    Merci.

    Je suis toujours preneur d’un exemple concret avec la fonction getAxis ou bien des explications, si vous le voulez bien.

    Vous semble-t-il possible d’utiliser cette fonction couplée à keyDown(« mouse 0 ») pour vérifier que le joueur a bien appuyé sur le bouton pause dans le coin supérieur gauche avec sa souris ?

    Quand je cherche à récupérer les valeurs via :
    getAxis(« Mouse Y »)
    getAxis(« Mouse X »)

    Les valeurs retournent à 0 dès que la souris cesse de bouger. Je souhaiterais calculer la position de la souris.

    Merci d’avance.

    Julian Fremaux  | Posté le 24 août 2021 à 16 h 10 min

    La fonction getAxis retourne le mouvement de la souris, et non pas sa position. Il n’existe pas encore de possibilité de récupérer dans des variables la position de la souris. Je note cependant que ce serait très intéressant à avoir pour une prochaine release, mais cela reste à bien définir quant au comportement sur tablette et mobile. Cependant, ce que vous semblez vouloir faire, à savoir vérifier que l’apprenant à bien cliquer sur le menu VTS, me parait compliqué sans une variable propre au menu ou avoir recours à un système de mot de passe accessible uniquement depuis l’inventaire. Même avec ces variables supplémentaires, cela serait difficile car il s’agirait d’un clic sur l’interface de VTS, qui plus est qui met potentiellement la simulation en pause.

    Pour avoir un exemple d’utilisation de getAxis, j’ai réalisé un mini-jeu ou il fallait secouer une canette de soda soit horizontalement, soit verticalement. On peut imaginer également par exemple d’avoir un jeu d’esquive qui serait assez complexe à mettre en place avec des zones cliquables, ou encore un jeu d’équilibre ou le personnage pencherait aléatoire d’un coté ou de l’autre. J’ai effectivement du mal à imaginer un coté pédagogique à ces jeux mais cela peut amuser l’apprenant et donc augmenter son intérêt pour l’expérience.

    Si d’autres utilisateurs veulent partager leurs utilisations de ces fonctions, nous en serions ravis.

    Julian

    Anonyme  | Posté le 26 août 2021 à 11 h 05 min

    Oui, je pense que cela pourrait être très intéressant de connaître la position de la souris.
    Et, de même, il serait intéressant de pouvoir récupérer la valeur d’une variable propre au menu.
    C’est possible de mettre le menu en pause en demandant à l’apprenant d’appuyer sur Escape, avec le keydow(‘escape’), mais il faut bien entendu l’avertir au préalable que le jeu sera mis en pause et qu’il devra le réactiver.

    Merci pour vos explications.