Bonjours , dans un projet perso je souhaite incrémenter une variable a chaque fois que le pointe le "Joystick" vers le haut et décrémenter à chaque fois que pointe vers le bas .
Bien que le fonctionnent (placé dans le "Update") , cependant la valeur ne cesse de changer à chaque frame.
Or maintenant je souhaite que cette variable change de valeur seulement une fois que le joystick passe de sa valeur initiale sa valeur maximale et qu'il revient à sa position initiale, de la même manière qu'un getKeyDown,
Malheureusement je ne voit pas comment dois-je m'y prendre
SVP Merci
incrémentation avec un Joystick
- boubouk50
- ModoGenereux
- Messages : 6246
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: incrémentation avec un Joystick
Je ne sais pas s'il est possible de le faire directement depuis l'Input Manager, depuis le mapping du joystick.
Sinon, en code, tu peux redéfinir le comportement du joystick.
- Définir les états (Bas, Haut, Origine, Autre)
- Définir les comportements en fonction des états (et de leur suite)
Dans l'idée, il te faut définir le comportement du Joystick par une obligation de suite d'états.
Ex : J'incrémente si je pars du centre et je vais en haut (ou en bas) et reviens au centre en moins de 0.5 secondes.
Voici le pseudo de l'exemple donné ci-dessus qui peut te permettre de comprendre la logique du comportement
Sinon, en code, tu peux redéfinir le comportement du joystick.
- Définir les états (Bas, Haut, Origine, Autre)
- Définir les comportements en fonction des états (et de leur suite)
Dans l'idée, il te faut définir le comportement du Joystick par une obligation de suite d'états.
Ex : J'incrémente si je pars du centre et je vais en haut (ou en bas) et reviens au centre en moins de 0.5 secondes.
Voici le pseudo de l'exemple donné ci-dessus qui peut te permettre de comprendre la logique du comportement
Code : Tout sélectionner
Si étatCourant Origine // etatCourant est défini par la valeur du Joystick [-1 = Bas, 0 = Origine, 1 = Haut]
-- Ajout de l'incrément (0, +1 ou -1) // Si le Joystick est au centre, on ajoute l'incrément (s'il vaut 0, rien en se passe)
-- dernierEtat = Origine // On met à jour l'état
-- Timer = 0 // Et on reset les valeurs par défaut
-- increment = 0
Si étatCourant Haut (ou Bas) // Si le joystick est en Haut (ou en Bas)
-- Si dernierEtat Origine // Et que son précédent état était au centre
---- incrément++(ou --) // Alors on incrémente une variable
---- dernierEtat = Haut (ou Bas) // et on met a jour l'état
--Sinon // sinon le test est raté et on remet toutes les valeurs par défaut
---- dernierEtat = Autre
---- Timer = 0
---- increment = 0
Si Timer > 0.5 (tempsMinimumAction) // Si le temps est écoulé pour une interaction
-- dernierEtat = Autre // Alors on remet toutes les valeurs par défaut
-- Timer = 0
-- increment = 0
sinon // Sinon on compte le temps
-- Timer += DeltaTime
"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
Re: incrémentation avec un Joystick
Merci beaucoup pour tes explications et ton exemple c'est maintenant beaucoup plus clair sur la manière d'entreprendre la chose je vais m'appuyer dessus pour essayer d'obtenir le résultat escompté