[Résolu] Differencier les Input.GetMouseButton

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Avatar de l’utilisateur
Freelax
Messages : 1595
Inscription : 30 Déc 2009 23:02
Localisation : Niort
Contact :

[Résolu] Differencier les Input.GetMouseButton

Message par Freelax » 07 Jan 2011 12:14

Salut!

J'aurais besoin d'une petite précision, je souhaite brider le clique sur le bouton que pour Input.GetMouseButton(0)

Quand on crée un bouton

Code : Tout sélectionner

if (GUI.Button(new Rect(0,0,69,69),"Bouton")) {} 
Est'il possible de tester quel bouton de la souris à été pressé et dériver vers deux codes différents selon le clique?

J'ai bien testé comme ceci

Code : Tout sélectionner

if (GUI.Button(new Rect(0,0,69,69),"Bouton")) {
    if (Input.GetMouseButton(0)) { //CodeA}  
    if (Input.GetMouseButton(1)) { //CodeB} 
}
Mais ca ne fonctionne pas...
Je souhaiterais le faire aussi pour un slider mais je ne vois vraiment pas comment faire...

Merci d'avance de votre aide.
Dernière édition par Freelax le 22 Jan 2011 04:49, édité 1 fois.
Image

Avatar de l’utilisateur
giyomuSan
Messages : 1799
Inscription : 09 Déc 2009 14:52
Localisation : Japon

Re: Differencier les Input.GetMouseButton

Message par giyomuSan » 07 Jan 2011 16:07

peut etre comme ca

Code : Tout sélectionner


bool bttn;
const int kLeftMouseBttn = 0;
const int kRightMouseBttn = 1;

//Dans OnGUI()
bttn = GUI.Button(new Rect(0f,0f,69f, 69f), "Bouton");

if(Input.GetMouseButton(kLeftMouseBttn) && bttn )
{
   //codeA
}
else if(Input.GetMouseBttn(kRightMouseBttn) && bttn)
{
    //codeB
}
else
    //Va te faire cuire un oeuf ^^..a ne pas metter ce dernier else hein ;)

bon pas de pronostic mais essaye voir :)

Avatar de l’utilisateur
Freelax
Messages : 1595
Inscription : 30 Déc 2009 23:02
Localisation : Niort
Contact :

Re: Differencier les Input.GetMouseButton

Message par Freelax » 08 Jan 2011 15:03

Alors,

ca fonctionne bien SI le clique opposé a celui que l'on actionne est pressé, je m'explique:

Si on clique sur Input.GetMouseButton(0) seul, rien ne se passe
Si on clique sur Input.GetMouseButton(1) seul, rien ne se passe

Par contre si on garde Input.GetMouseButton(0) pressé et qu'on presse Input.GetMouseButton(1), ca fonctionne
Et si on garde Input.GetMouseButton(1) pressé, et qu'on presse Input.GetMouseButton(0), ca fonctionne

Donc au final, ya toujours besoin d'avoir le clique opposé pressé!! C'est pas logique...

Je cherche toujours mais son résultat :(

Ps: par contre du coup l'œuf est bien cuit :lol:
Image

Avatar de l’utilisateur
giyomuSan
Messages : 1799
Inscription : 09 Déc 2009 14:52
Localisation : Japon

Re: Differencier les Input.GetMouseButton

Message par giyomuSan » 08 Jan 2011 15:58

hmm en y pensant l fct GUI.Button attends certainment un click gauche ?..ce qui expliquerai l embrouille
.....

franchement la souris a 1 click facon mac au moins on est pas emmerder :lol:

Avatar de l’utilisateur
Freelax
Messages : 1595
Inscription : 30 Déc 2009 23:02
Localisation : Niort
Contact :

Re: Differencier les Input.GetMouseButton

Message par Freelax » 08 Jan 2011 16:02

tampis merci quand meme, je vais faire autrement... Je vais pas rester bloqué sur un truc à la con comme ca ;)
Dernière édition par Freelax le 10 Jan 2011 14:14, édité 1 fois.
Image

Sami_fr
Messages : 16
Inscription : 10 Fév 2010 10:30

Re: Differencier les Input.GetMouseButton

Message par Sami_fr » 08 Jan 2011 17:52

Salut,

La solution n'est pas dans l'utilisation des inputs pour l'interaction avec le clavier dans OnGui. Mais le système d'Event. Notamment la propriété button.

Cordialement

Avatar de l’utilisateur
Freelax
Messages : 1595
Inscription : 30 Déc 2009 23:02
Localisation : Niort
Contact :

Re: Differencier les Input.GetMouseButton

Message par Freelax » 09 Jan 2011 19:26

Merci beaucoup je vais gratter de ce coté là. ;)
Image

Avatar de l’utilisateur
Freelax
Messages : 1595
Inscription : 30 Déc 2009 23:02
Localisation : Niort
Contact :

Re: Differencier les Input.GetMouseButton

Message par Freelax » 10 Jan 2011 09:33

Nikel ca fonctionne parfaitement!! merci beaucoup! ;)

Par contre pour les GUI.HorizontalSlider c'est pas adaptable, enfin je crois... Par exemple le clique gauche déplace le curseur et un clique droit le remet à zéro! :(

Si quelqu'un à deja fait cela, je suis preneur :)
Image

Répondre

Revenir vers « Scripting »