| Détecter clic de souris sur un objet | |
|
|
Auteur | Message |
---|
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Détecter clic de souris sur un objet Lun 18 Mar 2013 - 18:07 | |
| Bonjour,
Je voudrais lancer une action lorsque l'on clic avec la souris sur un objet mais sans utiliser l'Event MOUSE, mais un code dans un Event STEP car ce code serait générique pour plusieurs objets différents.
En gros existe t'il un code qui ressemblerait à cela dans une STEP :
if (bouton gauche clique sur Toto) action A if (bouton gauche clique sur Tata) action B
Merci d'avance !! |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: Détecter clic de souris sur un objet Lun 18 Mar 2013 - 18:17 | |
| mouse_x et mouse_y, ensuite tu compare avec les coordonnées de ton perso (regarde les collisions AABB si tu sais pas comment faire) _________________ Je suis partie sur les ailes du vent et la tempête m'a ramenée.
|
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Détecter clic de souris sur un objet Lun 18 Mar 2013 - 18:27 | |
| Merci, Bhou je pensais qu'une commande toute faite existait .... >_< Collision AABB je ne sais pas du tout ce que c'est, ce n'est pas non plus cité dans http://www.lecbna.org/pages/base.php?subaction=showfull&id=1202494125&archive=&start_from=&ucat=12&En fait je devrais utiliser la commande qui vérifie si le clic gauche est activé, et si TRUE je vérifie sur quel objet est la souris ? Du type if ((blabla clic gauche=true) && place_meeting(mouse_x,mouse_y,toto)=true) {action A} if ((blabla clic gauche=true) && place_meeting(mouse_x,mouse_y,tata)=true) {action B} Thx !!! |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: Détecter clic de souris sur un objet Lun 18 Mar 2013 - 18:29 | |
| Ouais ben c'est ca, en fait AABB t'en a pas besoin, j'avais oublié place_meeting, mais sinon en cherchant sur google tu trouve. _________________ Je suis partie sur les ailes du vent et la tempête m'a ramenée.
|
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Détecter clic de souris sur un objet Lun 18 Mar 2013 - 18:33 | |
| |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Détecter clic de souris sur un objet Lun 18 Mar 2013 - 18:43 | |
| Tu peux faire mieux : - Code:
-
if(mouse_check_pressed(mb_left)) { obj = instance_place(mouse_x, mouse_y, all); // all peut être remplacé par un objet parent pour ne tester que ses fils. // obj contient désormais l'ID de l'instance sous la souris, ou noone. } _________________ Home is not a place, it's a feeling.
|
|
| |
Shurigame Habitué
Messages : 83 Localisation : Tours Projet Actuel : Développez le monde parallèle
| Sujet: Re: Détecter clic de souris sur un objet Lun 18 Mar 2013 - 18:50 | |
| Salut, Sinon tu fait un code de ce style - Code:
-
if mouse_check_button_pressed(mb_left) and place_meeting(mouse_x,mouse_y,objet) then {----------Ton action--------} _________________ 01100011011011110110111001101110011001010110001101110100011001010010000001110100011011110110100100100000011100110111 010101110010001000000110110001100001001000000110110101100001011101000111001001101001011100110010000001100101011101000010 000001110100011101010010000001100100011001010110001101101111011101010111011001110010011010010111001001100001001000000111 010101101110001000000110110101101111011011100110010001100101001000000111000001100001011100100110000101101100011011000110 0101011011000110010100100000011001100110000101110011011100110110100101101110011000010110111001110100
|
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Détecter clic de souris sur un objet Lun 18 Mar 2013 - 19:00 | |
| Super merci, la vous me mâchez bien le boulot mais je ne vais pas me plaindre. Un jour faudra que je m’intéresse de plus près aux ID, quand plusieurs "tourelles" identiques attaquent plusieurs "ennemis"identiques, les ID doivent bien servir. |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Détecter clic de souris sur un objet Lun 18 Mar 2013 - 19:26 | |
| Ici c'est surtout pour factoriser le code : place_meeting et instance_place sont essentiellement la même fonction, sauf qu'avec instance_place tu ne fais qu'un appel. _________________ Home is not a place, it's a feeling.
|
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Détecter clic de souris sur un objet Lun 18 Mar 2013 - 19:39 | |
| La, j'avoue que je n'ai pas compris ... factoriser le code o_O Ensuite mon place_meeting(mouse_x,mouse_y,toto) ne marche pas, je clique bien sur toto mais mon action ne se lance pas. L'action est bien codée car si je vire place_meeting(...) l'action se lance bien dès que je clique gauche. Je ne sais pas si c'est important mais j'ai bien un masque de collision sur toto. Je vais bien trouver ... |
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Détecter clic de souris sur un objet Lun 18 Mar 2013 - 19:44 | |
| Ha ok Factoriser avec ALL, mais justement je veux bien différencier ou je clique. Par contre je bloque toujours >_< ... Thx |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Détecter clic de souris sur un objet Lun 18 Mar 2013 - 19:57 | |
| "all" te permet de tester avec toutes les instances d'un coup, et te retourne l'ID (unique) de celle sous le curseur. Tu peux ensuite accéder à ses champs ou appeler des fonctions dessus.
obj.object_index en particulier te permettra de savoir de quel objet il s'agit. _________________ Home is not a place, it's a feeling.
|
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Détecter clic de souris sur un objet Lun 18 Mar 2013 - 20:06 | |
| Hum ok je vois, c'est plus poussé mais faut quand mm un code un poil plus long sans être énorme. Ca me sera surement utile mais dans un 1er temps j'aimerai quand mm réussir mon code avec place_meeting ... RHAAAa |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Détecter clic de souris sur un objet Lun 18 Mar 2013 - 20:22 | |
| Poste donc ton code, qu'on y jette un œil. _________________ Home is not a place, it's a feeling.
|
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Détecter clic de souris sur un objet Lun 18 Mar 2013 - 22:42 | |
| Je pense que le code seul ne sera pas suffisant mais voila :
if (mouse_check_button_released(mb_left) && place_meeting(mouse_x,mouse_y,tourelle_1)) up_1=4 Et donc je clique sur l'objet tourelle_1 et rien ne se passe
Si je garde seulement le code du dessous, ça marche donc le pb vient bien du place_meeting if mouse_check_button_released(mb_left) up_1=4
Thx |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Détecter clic de souris sur un objet Lun 18 Mar 2013 - 22:50 | |
| Pourquoi j'y ai pas pensé.
place_meeting() fonctionne avec le mask de l'objet appelant. Pour tester un point, c'est position_meeting()... (instance_position pour récupérer l'ID) _________________ Home is not a place, it's a feeling.
|
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Détecter clic de souris sur un objet Lun 18 Mar 2013 - 22:53 | |
| Super merci ...pourtant j'avais beau lire et relire l'aide GML ça semblait bon comme commande. Thx encore, allé en route pour le prochaine problème |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Détecter clic de souris sur un objet Lun 18 Mar 2013 - 22:57 | |
| En gros, place_meeting() teste si l'objet qui l'appelle entrerait en collision avec l'objet en paramètre s'il se déplaçait à la position spécifiée. L'appeler avec un objet sans mask teste donc la collision avec rien, et ne renvoie jamais vrai... _________________ Home is not a place, it's a feeling.
|
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Détecter clic de souris sur un objet Lun 18 Mar 2013 - 23:23 | |
| Ha ok merci, utile aussi. Bon c'est cool j'ai plus ou moins codé le système d'upgrade de mes tourelles. |
|
| |
Contenu sponsorisé
| Sujet: Re: Détecter clic de souris sur un objet | |
| |
|
| |
| Détecter clic de souris sur un objet | |
|