[Unity] bouton enfoncé
Fermé
docteur_nemo
Messages postés
21
Date d'inscription
vendredi 7 juillet 2017
Statut
Membre
Dernière intervention
17 juillet 2018
-
Modifié le 17 juil. 2018 à 16:36
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 - 17 juil. 2018 à 18:57
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 - 17 juil. 2018 à 18:57
3 réponses
Whismeril
Messages postés
19025
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 avril 2024
929
17 juil. 2018 à 16:49
17 juil. 2018 à 16:49
Bonjour,
Je ne connais pas Unity, mais C# oui.
Je te propose une solution basée sur Winform, en espérant que cela puisse s’adapter à Unity.
Il existe les événements MouseDown et MouseUp.
On peut aussi utliser des timers (y’en a plusieurs sortes).
Voici le principe, il y a une méthode Avancer
Dans l’événement MouseDown
Le timer doit avoir un intervalle ni trop rapide ni trop lent 100 à 200 ms me parraissent bien, mais c’est à tester.
Dans la méthode abonnée au timer (Tick, Elasped, etc selon le type de timer)
Et enfin dans le MouseUp du bouton
Ainsi dès que le bouton est enfoncé, le personnage avance.
Puis le timer va faire avancer le personnage tous à chaque déclenchement, jusqu’à ce que le bouton soit relâché.
Je ne connais pas Unity, mais C# oui.
Je te propose une solution basée sur Winform, en espérant que cela puisse s’adapter à Unity.
Il existe les événements MouseDown et MouseUp.
On peut aussi utliser des timers (y’en a plusieurs sortes).
Voici le principe, il y a une méthode Avancer
private void Avancer() { // ici tout le code pour avancer une fois. }
Dans l’événement MouseDown
Avancer(); timerAvancer.Start(); // ou .Enabled = true selon le type de timer
Le timer doit avoir un intervalle ni trop rapide ni trop lent 100 à 200 ms me parraissent bien, mais c’est à tester.
Dans la méthode abonnée au timer (Tick, Elasped, etc selon le type de timer)
Avancer();
Et enfin dans le MouseUp du bouton
timerAvancer.Stop();
Ainsi dès que le bouton est enfoncé, le personnage avance.
Puis le timer va faire avancer le personnage tous à chaque déclenchement, jusqu’à ce que le bouton soit relâché.