AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 [Resolu] pb detection collision et evenement clavier

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
nmat
Débutant


Messages : 18
Localisation : Perpignan

MessageSujet: [Resolu] pb detection collision et evenement clavier   Mer 26 Juin 2013 - 14: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 - 17:07, édité 1 fois
Revenir en haut Aller en bas
nmat
Débutant


Messages : 18
Localisation : Perpignan

MessageSujet: Re: [Resolu] pb detection collision et evenement clavier   Mer 26 Juin 2013 - 16: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
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: [Resolu] pb detection collision et evenement clavier   Mer 26 Juin 2013 - 16: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 Smile

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
nmat
Débutant


Messages : 18
Localisation : Perpignan

MessageSujet: Re: [Resolu] pb detection collision et evenement clavier   Mer 26 Juin 2013 - 16: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é ....
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: [Resolu] pb detection collision et evenement clavier   Mer 26 Juin 2013 - 17: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.
Revenir en haut Aller en bas
Rem_101
*Excellent utilisateur*
avatar

Messages : 4355
Localisation : chez votre marchand de journaux

MessageSujet: Re: [Resolu] pb detection collision et evenement clavier   Mer 26 Juin 2013 - 18: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.

Revenir en haut Aller en bas
nmat
Débutant


Messages : 18
Localisation : Perpignan

MessageSujet: Re: [Resolu] pb detection collision et evenement clavier   Jeu 27 Juin 2013 - 6: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
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: [Resolu] pb detection collision et evenement clavier   Jeu 27 Juin 2013 - 8: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.
Revenir en haut Aller en bas
nmat
Débutant


Messages : 18
Localisation : Perpignan

MessageSujet: Re: [Resolu] pb detection collision et evenement clavier   Jeu 27 Juin 2013 - 10: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
Revenir en haut Aller en bas
Mobi
Utilisateur confirmé: Rang ****
avatar

Messages : 1256
Localisation : Dijon

MessageSujet: Re: [Resolu] pb detection collision et evenement clavier   Jeu 27 Juin 2013 - 10:10


_________________
Revenir en haut Aller en bas
GrandeLangue
Bonne participation
avatar

Messages : 77
Localisation : Lille
Projet Actuel : Faire des maths

MessageSujet: Re: [Resolu] pb detection collision et evenement clavier   Jeu 27 Juin 2013 - 14:48

Je te conseille pour mieux comprendre les collisions de regarder le tuto de M@d_Doc dessus : http://www.lecbna.org/pages/base.php?subaction=showfull&id=1202494125.

_________________
Un superbe jeu de plateforme où vous pouvez contrôler le temps ici : TimeBoy

Pour maîtriser les pistons dans Minecraft : http://www.youtube.com/MindcraftMax
Project Spark est mort, vive Project Spark ! Top 25 des créations qui ont été réalisées avec ce moteur de création de jeu depuis sa sortie, avant que les serveurs n'aient été arrêtés : https://www.youtube.com/watch?v=nPenVqIcFgc
Revenir en haut Aller en bas
nmat
Débutant


Messages : 18
Localisation : Perpignan

MessageSujet: Re: [Resolu] pb detection collision et evenement clavier   Jeu 27 Juin 2013 - 16: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
Revenir en haut Aller en bas
nmat
Débutant


Messages : 18
Localisation : Perpignan

MessageSujet: Re: [Resolu] pb detection collision et evenement clavier   Jeu 27 Juin 2013 - 17:06

Voili voilou ca marche

Voici le petit code tout simple en fait !!
Code:

if(collision==1) {
with(collisionId) instance_destroy();
}
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: [Resolu] pb detection collision et evenement clavier   

Revenir en haut Aller en bas
 
[Resolu] pb detection collision et evenement clavier
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Les touches du clavier
» Raccourcis Clavier
» Les raccourcis clavier sous Heredis
» Dramatique collision entre un roulier et un porte-conteneurs
» CLAVIER / sourie SANS FIL S510 Logitech (boite complet)

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: