AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
-20%
Le deal à ne pas rater :
-20% Récupérateur à eau mural 300 litres (Anthracite)
79 € 99 €
Voir le deal

 

 Détecter clic de souris sur un objet

Aller en bas 
4 participants
AuteurMessage
Nickeau
Utilisateur confirmé: Rang *
Nickeau


Messages : 175
Projet Actuel : Cruma Forest

Détecter clic de souris sur un objet Empty
MessageSujet: Détecter clic de souris sur un objet   Détecter clic de souris sur un objet EmptyLun 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 !!
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

Détecter clic de souris sur un objet Empty
MessageSujet: Re: Détecter clic de souris sur un objet   Détecter clic de souris sur un objet EmptyLun 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.
Revenir en haut Aller en bas
Nickeau
Utilisateur confirmé: Rang *
Nickeau


Messages : 175
Projet Actuel : Cruma Forest

Détecter clic de souris sur un objet Empty
MessageSujet: Re: Détecter clic de souris sur un objet   Détecter clic de souris sur un objet EmptyLun 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 !!!
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

Détecter clic de souris sur un objet Empty
MessageSujet: Re: Détecter clic de souris sur un objet   Détecter clic de souris sur un objet EmptyLun 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.
Revenir en haut Aller en bas
Nickeau
Utilisateur confirmé: Rang *
Nickeau


Messages : 175
Projet Actuel : Cruma Forest

Détecter clic de souris sur un objet Empty
MessageSujet: Re: Détecter clic de souris sur un objet   Détecter clic de souris sur un objet EmptyLun 18 Mar 2013 - 18:33

Merci, je teste cela.
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Détecter clic de souris sur un objet Empty
MessageSujet: Re: Détecter clic de souris sur un objet   Détecter clic de souris sur un objet EmptyLun 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.
Revenir en haut Aller en bas
Shurigame
Habitué
Shurigame


Messages : 83
Localisation : Tours
Projet Actuel : Développez le monde parallèle

Détecter clic de souris sur un objet Empty
MessageSujet: Re: Détecter clic de souris sur un objet   Détecter clic de souris sur un objet EmptyLun 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
Revenir en haut Aller en bas
http://Shurigame41.wix.com/home
Nickeau
Utilisateur confirmé: Rang *
Nickeau


Messages : 175
Projet Actuel : Cruma Forest

Détecter clic de souris sur un objet Empty
MessageSujet: Re: Détecter clic de souris sur un objet   Détecter clic de souris sur un objet EmptyLun 18 Mar 2013 - 19:00

Super merci, la vous me mâchez bien le boulot beh mais je ne vais pas me plaindre. hap

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.
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Détecter clic de souris sur un objet Empty
MessageSujet: Re: Détecter clic de souris sur un objet   Détecter clic de souris sur un objet EmptyLun 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.
Revenir en haut Aller en bas
Nickeau
Utilisateur confirmé: Rang *
Nickeau


Messages : 175
Projet Actuel : Cruma Forest

Détecter clic de souris sur un objet Empty
MessageSujet: Re: Détecter clic de souris sur un objet   Détecter clic de souris sur un objet EmptyLun 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 ...
Revenir en haut Aller en bas
Nickeau
Utilisateur confirmé: Rang *
Nickeau


Messages : 175
Projet Actuel : Cruma Forest

Détecter clic de souris sur un objet Empty
MessageSujet: Re: Détecter clic de souris sur un objet   Détecter clic de souris sur un objet EmptyLun 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
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Détecter clic de souris sur un objet Empty
MessageSujet: Re: Détecter clic de souris sur un objet   Détecter clic de souris sur un objet EmptyLun 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.
Revenir en haut Aller en bas
Nickeau
Utilisateur confirmé: Rang *
Nickeau


Messages : 175
Projet Actuel : Cruma Forest

Détecter clic de souris sur un objet Empty
MessageSujet: Re: Détecter clic de souris sur un objet   Détecter clic de souris sur un objet EmptyLun 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
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Détecter clic de souris sur un objet Empty
MessageSujet: Re: Détecter clic de souris sur un objet   Détecter clic de souris sur un objet EmptyLun 18 Mar 2013 - 20:22

Poste donc ton code, qu'on y jette un œil.

_________________
 
Home is not a place, it's a feeling.
Revenir en haut Aller en bas
Nickeau
Utilisateur confirmé: Rang *
Nickeau


Messages : 175
Projet Actuel : Cruma Forest

Détecter clic de souris sur un objet Empty
MessageSujet: Re: Détecter clic de souris sur un objet   Détecter clic de souris sur un objet EmptyLun 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
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Détecter clic de souris sur un objet Empty
MessageSujet: Re: Détecter clic de souris sur un objet   Détecter clic de souris sur un objet EmptyLun 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.
Revenir en haut Aller en bas
Nickeau
Utilisateur confirmé: Rang *
Nickeau


Messages : 175
Projet Actuel : Cruma Forest

Détecter clic de souris sur un objet Empty
MessageSujet: Re: Détecter clic de souris sur un objet   Détecter clic de souris sur un objet EmptyLun 18 Mar 2013 - 22:53

Super merci gnii ...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 Wink
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Détecter clic de souris sur un objet Empty
MessageSujet: Re: Détecter clic de souris sur un objet   Détecter clic de souris sur un objet EmptyLun 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.
Revenir en haut Aller en bas
Nickeau
Utilisateur confirmé: Rang *
Nickeau


Messages : 175
Projet Actuel : Cruma Forest

Détecter clic de souris sur un objet Empty
MessageSujet: Re: Détecter clic de souris sur un objet   Détecter clic de souris sur un objet EmptyLun 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.
Revenir en haut Aller en bas
Contenu sponsorisé





Détecter clic de souris sur un objet Empty
MessageSujet: Re: Détecter clic de souris sur un objet   Détecter clic de souris sur un objet Empty

Revenir en haut Aller en bas
 
Détecter clic de souris sur un objet
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Voir un objet suivre la souris avec un clic gauche maintenu!
» Clic du milieu de la souris
» Clic de souris n'importe où => Déclencher un évènement
» l'objet créé va vers la souris
» Souris sur objet 3D

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: