| [Resolu] pb detection collision et evenement clavier | |
|
|
Auteur | Message |
---|
nmat Débutant
Messages : 18 Localisation : Perpignan
| Sujet: [Resolu] pb detection collision et evenement clavier Mer 26 Juin 2013 - 16:26 | |
| Bonjour @ tous,
grand débutant sur GM, Merci de votre compréhension !!
J'ai un perso qui se déplace grâce aux flèches. Lorsque qu'il rencontre les murs il s’arrête. Jusque la çà va !!
J'ai donc ajouter des blocs (plusieurs fois le même objet) que le personnage est sensé pouvoir détruire.
Pour pouvoir le détruire le personnage doit être en collision avec un des bloc et la barre d'espace par exemple doit être pressé.
Et la rien ne va plus ............
Sur l'objet bloc j'ai créé un event clavier espace, dans lequel je test si collision avec mon objet perso (la je ne sais pas quoi mettre dans x et y, j'ai laissé 0,0) puis dans le bloc de condition je détruit l'objet bloc. Si je ne met pas not dans le test de collision et que j'appuie sur espace tous les bloc disparaissent, alors j'ai mis not et la rien ne se passe, même quand mon perso est bloqué devant un bloc.
Merci de vos conseils. Nicolas
Dernière édition par nmat le Jeu 27 Juin 2013 - 19:07, édité 1 fois |
|
| |
nmat Débutant
Messages : 18 Localisation : Perpignan
| Sujet: Re: [Resolu] pb detection collision et evenement clavier Mer 26 Juin 2013 - 18:09 | |
| Suite ....
J'ai essayer de mettre les événements dans le perso mais cela ne change rien. J'ai essayer différente choses qui ne même à rien.
Peut être pourriez vous me dire comment vous vous feriez gml, ou, événement, enfin comment feriez vous pour gérer cela :
Quand un perso est en collision avec un bloc et que le joueur presse espace le bloc est détruit.
Merci de votre aide
Nicolas |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: [Resolu] pb detection collision et evenement clavier Mer 26 Juin 2013 - 18:23 | |
| Dans l'event collision avec mur de l'objet heros : if(keyboard_check_pressed(vk_space) { with(other) instance_destroy(); } Bienvenue sinon, suit les tutos et lis la doc : http://gamemaker.info/fr/manual _________________ Je suis partie sur les ailes du vent et la tempête m'a ramenée.
|
|
| |
nmat Débutant
Messages : 18 Localisation : Perpignan
| Sujet: Re: [Resolu] pb detection collision et evenement clavier Mer 26 Juin 2013 - 18:39 | |
| Merci de cette réponse et de ton aide,
Cependant, il faut que presse plusieurs fois (20 a 30 fois) flèche et espace pour que le bloc disparaisse. J'ai l'impression que cela vient du fait que l’événement collision n'est exécuter qu'une fois ????
J'ai trouver la doc et j'ai commencé mais c un pavé ....
|
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: [Resolu] pb detection collision et evenement clavier Mer 26 Juin 2013 - 19:10 | |
| En fait c'est keyboard_check, pardon, l'autre vérifie si la touche a été pressée depuis le dernier step, et celle la si elle est actuellement pressée. Sinon la doc, perso j'ai lu uniquement la partie gml, vu que je connaissais pas le site avant, et cette partie est plutôt courte au contraire.... _________________ Je suis partie sur les ailes du vent et la tempête m'a ramenée.
|
|
| |
Rem_101 *Excellent utilisateur*
Messages : 4356 Localisation : chez votre marchand de journaux
| Sujet: Re: [Resolu] pb detection collision et evenement clavier Mer 26 Juin 2013 - 20:46 | |
| Si j'ai bien compris tu peux détruire l'objet que tu veux en récupérant l'ID de ton bloc à détruire avec cette fonction: - Code:
-
instance_place(x, y, obj) Retourne l'ID de l'instance de type obj rencontré quand l'instance courante est placée à la position (x,y). obj peut être un objet ou le mot-clé all. S'il n'existe pas, l'objet spécial noone sera retourné. Récupère l'ID de l'objet et utilise un instance_destroy() couplé à un "with". Vérifies également que tu as coché la case delete underlying (dans les paramètres de la room) pour éviter que tes objets blocs se "stack". Je sais pas si j'ai été très clair. |
|
| |
nmat Débutant
Messages : 18 Localisation : Perpignan
| Sujet: Re: [Resolu] pb detection collision et evenement clavier Jeu 27 Juin 2013 - 8:50 | |
| Resultat des test avec le code - Code:
-
if(keyboard_check(vk_space)) { with(other) instance_destroy(); }
Cela fonctionne à la condition que la barre d'espace soit appuyé quand je rentre en collision avec le bloc. Ce que je souhaiterais : mon perso se déplace entre en collision avec un bloc quelconque et si il le décide le détruit en appuyant sur espace. Le problème c'est que l’événement collision-perso ne se produit qu'une fois, donc, après être en collision quand j’appuie sur espace il ne se passe rien, l’événement est passé. Pour : instance_place(x, y, obj) je pense que je dois faire ce test sur l'événement clavier (barre espace) Le problème c'est que je ne sait pas quoi mettre dans x, y, et obj with(instance_place(perso.x, perso.y, perso) instance_destroy(); ??? Merci de votre aide |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: [Resolu] pb detection collision et evenement clavier Jeu 27 Juin 2013 - 10:07 | |
| x et y sont les coordonnées du point ou est placé l'objet ; dans le level editor, en bas, ia écrit les coordonnées de la souris. with(instance_place(x,y, mur) instance_destroy(); Mais pas sur que ca marche... _________________ Je suis partie sur les ailes du vent et la tempête m'a ramenée.
|
|
| |
nmat Débutant
Messages : 18 Localisation : Perpignan
| Sujet: Re: [Resolu] pb detection collision et evenement clavier Jeu 27 Juin 2013 - 12:04 | |
| Merci de ton retour,
Est' il possible dans GM de voir le code généré par la programmation en drag & drop ??? Car je pense que le Drag & drop génère du GML.
Je pense qu'avec ces info la je pourrai solutionné mon pb.
Merci |
|
| |
Mobi Utilisateur confirmé: Rang ****
Messages : 1256 Localisation : Dijon
| Sujet: Re: [Resolu] pb detection collision et evenement clavier Jeu 27 Juin 2013 - 12:10 | |
| _________________ |
|
| |
GrandeLangue Bonne participation
Messages : 77 Localisation : Lille Projet Actuel : Faire des maths
| Sujet: Re: [Resolu] pb detection collision et evenement clavier Jeu 27 Juin 2013 - 16:48 | |
| |
|
| |
nmat Débutant
Messages : 18 Localisation : Perpignan
| Sujet: Re: [Resolu] pb detection collision et evenement clavier Jeu 27 Juin 2013 - 18:33 | |
| Merci à tous de votre aide.
Je lis, test, prog, et je vous tiens au courant. Après réflexion, voila comment je compte m'y prendre.
Je crée 2 variables : collision=true/false et collisionId=id de l'instance en collision
Quand je rentre en collision : collision=true et je recupere l'id de other si j'ai bien compris normalement avec other.id
Si le perso bouge je remet collision à false.
Je crée un événement sur le clavier (barre espace pressed) dans l'objet de mon perso ou je détruit le bloc grâce à l'id et si collision est à true
Je pense que cela devrait fonctionner.
Reste plus qu'a le programmer : Lol
Merci encore, je vous tiens au courant Nicolas |
|
| |
nmat Débutant
Messages : 18 Localisation : Perpignan
| Sujet: Re: [Resolu] pb detection collision et evenement clavier Jeu 27 Juin 2013 - 19:06 | |
| Voili voilou ca marche Voici le petit code tout simple en fait !! - Code:
-
if(collision==1) { with(collisionId) instance_destroy(); }
|
|
| |
Contenu sponsorisé
| Sujet: Re: [Resolu] pb detection collision et evenement clavier | |
| |
|
| |
| [Resolu] pb detection collision et evenement clavier | |
|