[RESOLU][DB-AL] Comment paramèter « Input.GetAxis() » pour l'utiliser avec les touches "4" et "6" ?

Pour les scripts écrits en C#
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
aclanto
Messages : 16
Inscription : 16 Août 2016 12:14

[RESOLU][DB-AL] Comment paramèter « Input.GetAxis() » pour l'utiliser avec les touches "4" et "6" ?

Message par aclanto » 19 Oct 2017 19:09

Bonjour tout le monde, :-D

Je suis en train de créer un jeu qui est un « Space Invaders Like » mon vaisseau a des déplacements courants c'est-à-dire qu'il se déplace soit vers la droite soit vers le haut ou la gauche ou le bas.
J'aimerais, en plus qu'il puisse pivoter sur lui même.
Pour programmer ces deux modes de déplacements, j 'utilise la fonction « Input.GetAxis() ».

Si j'ai bien compris pour faire les déplacements avec les flèches du clavier on utilise les paramètres "Horizontal" et "Vertical" que passe à la fonction « Input.GetAxis() » et avec la souris on utilise " Mouse X " et " Mouse Y "

J'utilise déjà les flèches du clavier pour les déplacements « courants » je trouve qu'il ne serait pas pratique utiliser la souris pour faire pivoter mon vaisseau sur lui même.

Donc je voulais vous demander comment utiliser « Input.GetAxis() » avec par exemple les
touches « 4 » et « 6 » pour pivoter le vaisseau dans un sens dans l'autres ?

Je vous remercie par avance pour vos réponses. :merci:

Je vous souhaite à toutes et à tous une bonne soirée. :hello:

Bien cordialement.

Aclanto
Dernière édition par aclanto le 24 Oct 2017 18:27, édité 1 fois.

yonathgames
Messages : 45
Inscription : 18 Sep 2017 17:44

Re: [DB-AL] Comment paramèter « Input.GetAxis() » pour l'utiliser avec les touches "4" et "6" ?

Message par yonathgames » 19 Oct 2017 21:55

Salut!

Tu peux utiliser
Input.GetKey(KeyCode.Keypad4) et Input.GetKey(KeyCode.Keypad6)

Bonne soirée.

aclanto
Messages : 16
Inscription : 16 Août 2016 12:14

Re: [DB-AL] Comment paramèter « Input.GetAxis() » pour l'utiliser avec les touches "4" et "6" ?

Message par aclanto » 21 Oct 2017 18:09

Bonsoir yonathgames, :hello:

Je te remercie beaucoup pour ta réponse. :merci:

Comment utiliser Input.GetKey(KeyCode.Keypad4) et Input.GetKey(KeyCode.Keypad6) avec par exemple
Input.GetAxis("horizontale") ?

Car quand on écrit Input.GetAxis("horizontale") on donne à l'ordinateur deux fonction en une car on lui dit: "si on appui sur flèche gauche le vaisseau va à gauche et si on appui sur flèche droite le vaisseau va à droite"
Donc comment appliquer ces deux fonctions Input.GetKey(KeyCode.Keypad4) et Input.GetKey(KeyCode.Keypad6) à cette seul fonction Input.GetAxis("horizontale") ?

Merci pour ton aide. :super:

Très bonne soirée et très bon week-end à toi, yonathgames

Bien cordialement.

Aclanto

yonathgames
Messages : 45
Inscription : 18 Sep 2017 17:44

Re: [DB-AL] Comment paramèter « Input.GetAxis() » pour l'utiliser avec les touches "4" et "6" ?

Message par yonathgames » 22 Oct 2017 15:36

Effectivement, je comprends ce que tu veux. getAxis est un peu special : il renvoie une valeur de -1 à 1 qui varie à une vitesse définie lorsque l'on appui sur les touches droit ou gauche, puis qui revient à 0 à la même vitesse lorsqu'aucune touche n'est appuyée.

En fait, il y a plus simple du coup pour paramétrer le getAxis :

Edit > Project Settings > Input et normalement tu peux changer les touches ( je ne suis pas sur mon pc avec unity donc je ne peux pas regarder...)

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

Re: [DB-AL] Comment paramèter « Input.GetAxis() » pour l'utiliser avec les touches "4" et "6" ?

Message par boubouk50 » 23 Oct 2017 09:28

Effectivement, il te faut passer par les Input Settings.
Dans celui-ci, tu trouveras les touches prédéfinies comme Horizontal et Vertical. Dans ces Input prédéfinis, tu peux ajouter les touches clavier que tu veux, par défaut ce sont les flèches directionnelles. Soit tu changes pour mettre 4 et 6, soit tu les ajoutes (mapping de touches secondaires), soit tu dupliques l'Input entier et tu configures les bonnes touches.
"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

aclanto
Messages : 16
Inscription : 16 Août 2016 12:14

Re:[RESOLU] [DB-AL] Comment paramèter « Input.GetAxis() » pour l'utiliser avec les touches "4" et "6" ?

Message par aclanto » 24 Oct 2017 18:23

Bonsoir Yonathgames, Bonjour Boubouk50,

Je vous remercie vivement pour vos réponses et votre aide. :merci: :)

Effectivement en faisant "Edit > Project Settings >Input" Non seulement on peut changer les paramètres excitants et on peut aussi créer des paramètres personnels : en cliquant avec clic droit sur l'un des paramètres excitants on sélectionne "Duplicate Array Element" et renomme le paramètre et le tour est jouer ! :) ... et on peut même supprimer des paramètres avec clic droit aussi.
Comme je voulais faire tourner mon vaisseau sur lui-même j'ai donc créer mon propre paramètre "PersoTurn".
Petite précision si vous voulez utiliser les buttons du pavé numérique il faudra les désigner avec les "crochets [ ]" par exemple si vous voulez utiliser la touche 2 du pavé numérique il faudra l'écrire comme cela [2] pour l'entré dans votre paramètre personnel, si vous l'écrivez comme cela 2 vous ne pourrais utiliser que le 2 du clavier mais pas celui du pavé numérique.

Yonathgames et Boubouk50, je vous remercie encore et vous souhaite une très bonne soirée. :hello:

Bien cordialement.
Aclanto

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: [RESOLU][DB-AL] Comment paramèter « Input.GetAxis() » pour l'utiliser avec les touches "4" et "6" ?

Message par Alesk » 03 Nov 2017 12:26

Détail : je ne suis pas certain que l'on puisse modifier les valeurs assignées dans les Inputs une fois que le programme est compilé.

Dans le cas où l'on souhaiterait permettre aux utilisateurs de redéfinir les touches, on devrait alors se rabattre sur GetKey().
Pour que ça tienne en une ligne, il faut alors faire comme ceci :

Code : Tout sélectionner

float déplacement_sur_axe = Input.GetKey(code touche pour la direction positive)?vitesse:0 - Input.GetKey(code touche pour la direction négative)?vitesse:0

Avatar de l’utilisateur
E3DStef
Administrateur
Administrateur
Messages : 1646
Inscription : 14 Juil 2013 18:30
Localisation : https://www.carte-des-membres.com/fr/Unity3D-France/

Re: [RESOLU][DB-AL] Comment paramèter « Input.GetAxis() » pour l'utiliser avec les touches "4" et "6" ?

Message par E3DStef » 05 Nov 2017 15:11

Aussi qu'il ne faut pas oublier qu'une fois compilé le programme peut demander les touches souhaitées.

L'input manager dans l'éditeur fournit toute l'aide nécessaire et d'ailleurs vous pouvez renommer ces inputs ^^

A+

Stef
Le Savoir n'est Précieux que s'il est Partagé

Si besoin urgent de me contacter, faites moi un mail sur : franceunity3d@gmail.com

Répondre

Revenir vers « (C#) CSharp »