[Unity] bouton enfoncé

docteur_nemo Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour,
je suis en train de développer un jeu sur UNITY.
cela fait plusieurs jours que je cherche un moyen de déplacer mon personnage en gardant un bouton enfoncé. J'ai réussis a déplacer mon personnage avec un bouton seulement il n'avance qu'un fois par toucher. J'ai trouver le moyen de détecter quand un bouton est enfoncé avec "OnPointerDown" seulement cela prend un script complet et s'attache au niveau du bouton. Du coup je ne sais pas comment faire pour déplacer mon personnage depuis ce bouton.
Si vous pouviez m'aider ^^
Merci

3 réponses

Utilisateur anonyme
 
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
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é.
0
docteur_nemo Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
d'accord, je comprend, mais encore faut-il pouvoir récupérer la variable qui fait avancer dans un autre script. Pour ça il y a les histoires de variables publiques, privées etc... Je m'en sort pas XD.
Est-ce que tu saurais comment faire pour lire la valeur d'une variable définie dans un autre script ?
parce qu'il me faudrait trois script qui donne la valeur a la variable et un qui lis les trois valeurs...
0
Utilisateur anonyme
 
0