AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez
 

 détruire un objet en étant dessus et non dès que l'objet est touché

Aller en bas 
AuteurMessage
GMLfan
Nouveau


Messages : 4

détruire un objet en étant dessus et non dès que l'objet est touché Empty
MessageSujet: détruire un objet en étant dessus et non dès que l'objet est touché   détruire un objet en étant dessus et non dès que l'objet est touché EmptyDim 12 Nov 2017 - 17:21

Bonjour à tous Smile

Etant débutant avec l'utilisation de GM, veuillez m'excuser par avance si ma question parait stupide.

Voilà, mon soucis c'est que j'ai un personnage et je souhaiterai qu'à chacun de ses mouvements, dès lors qu'il rencontre un tile/objet particulier, (en l'occurrence un objet pomme) cet objet en question disparaisse.

Pour ce faire j'ai choisi de tout mettre (mouvement de mon perso + condition de collision) dans un step event plutot qu'avec des drag and drop; ceci afin d'éviter que l'objet ne disparaisse avant le déplacement COMPLET de mon perso (ie pas au moment de la collision comme en utilisant un drag and drop de collision) :

if keyboard_check(vk_left) {
   x-= floor(32/32)*32;
 
      if place_meeting(x,y,obj_pomme){
           with (other){
           instance_destroy();
           }
      }
}


Le problème c'est qu'en faisant cela, ce sont tous mes objets pommes qui disparaissent.... sauriez vous comment détruire seulement la pomme que mon personnage touche?

Merci beaucoup pour votre aide Smile

NB: Au passage il y a peut etre plus simple pour déplacer mon perso dans mon quadriallage de 32*32 mais je ne sais pas comment on fait pour le faire de façon + simple (en cochant une option par exemple). Bien entendu pour le déplacement aussi je pourrai aussi utiliser du drag and drop mais je préfère tout faire entièrement en GML dans ce cas de figure. N’hésitez pas à me reprendre si mes choix sont mauvais, je suis là pour apprendre j'aime qu'on me reprenne si ce que je fais n'est pas bon :=)
Revenir en haut Aller en bas
arthuro
Utilisateur confirmé: Rang ****
arthuro

Messages : 1443
Localisation : Paris
Projet Actuel : Diagon https://arthursonzogni.com/Diagon

détruire un objet en étant dessus et non dès que l'objet est touché Empty
MessageSujet: Re: détruire un objet en étant dessus et non dès que l'objet est touché   détruire un objet en étant dessus et non dès que l'objet est touché EmptyDim 12 Nov 2017 - 18:11

Bonjour !

Tu peux sans doute utiliser la fonction instance_place(x,y,objet). Elle retourne l'id de l'instance qui est en x,y.
Par exemple, est ce que ceci fonctionne:
Code:
var pomme = instance_place(x, y, obj_pomme);
if (pomme != noone) {
  with(pomme) instance_destroy();
}

_________________
détruire un objet en étant dessus et non dès que l'objet est touché Pochettedétruire un objet en étant dessus et non dès que l'objet est touché Signature.php?gid=588
D'autres jeux :
In The Cube
In the cube 2
Revenir en haut Aller en bas
GMLfan
Nouveau


Messages : 4

détruire un objet en étant dessus et non dès que l'objet est touché Empty
MessageSujet: Re: détruire un objet en étant dessus et non dès que l'objet est touché   détruire un objet en étant dessus et non dès que l'objet est touché EmptyDim 12 Nov 2017 - 18:32

Bonsoir arthuro, merci pour ta réponse rapide :O Ouaou t'es trop fort ça marche c'est exactement ce que je voulais!! Par contre des fois quand le perso avance il y a des pommes qui sont "sautées", elles ne sont pas toutes détruites (j'en mets plein cote à cote)... Serait ce à cause du type de mouvement que j'ai choisit (le suivit du quadrillage 32x32 de ma room)? Ou la vitesse?

Revenir en haut Aller en bas
GMLfan
Nouveau


Messages : 4

détruire un objet en étant dessus et non dès que l'objet est touché Empty
MessageSujet: Re: détruire un objet en étant dessus et non dès que l'objet est touché   détruire un objet en étant dessus et non dès que l'objet est touché EmptyDim 12 Nov 2017 - 20:58

en gros quand je bouge mon perso (en bas en l’occurrence sur la capture d'écran ci dessous), certaines pommes présentes sur la trajectoire du perso ne se destroy pas ;(

Je sais pas quoi faire ;( je me sens tellement nul c'est surement super simple ;(

détruire un objet en étant dessus et non dès que l'objet est touché Saute_12
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_

Messages : 9099
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

détruire un objet en étant dessus et non dès que l'objet est touché Empty
MessageSujet: Re: détruire un objet en étant dessus et non dès que l'objet est touché   détruire un objet en étant dessus et non dès que l'objet est touché EmptyLun 13 Nov 2017 - 9:21

1. Quelle est la vitesse de ton perso?
2. As tu définis un masque pour tes objets?
3. Ou as-tu placé le code d'Arthuro?

_________________
détruire un objet en étant dessus et non dès que l'objet est touché Runningpotato1détruire un objet en étant dessus et non dès que l'objet est touché TvF6GED
Revenir en haut Aller en bas
GMLfan
Nouveau


Messages : 4

détruire un objet en étant dessus et non dès que l'objet est touché Empty
MessageSujet: Re: détruire un objet en étant dessus et non dès que l'objet est touché   détruire un objet en étant dessus et non dès que l'objet est touché EmptyMar 14 Nov 2017 - 18:26

Bonsoir onilink_, désolé pour la réponse tardive, pour répondre à tes question:

La vitesse de mon perso est fonction du quadrillage du coup? (ie (32/32)*32 .... quand je mets (16/32)*32 ça ne va plus lol... tu me dira si la division donne toujours des entiers je n'ai pas besoin d'arrondir avec floor...)
détruire un objet en étant dessus et non dès que l'objet est touché Code10
Le code d'arthuro est là du coup.

détruire un objet en étant dessus et non dès que l'objet est touché Captur10


Un masque euh... je n'ai pas changé la hitbox du perso:
détruire un objet en étant dessus et non dès que l'objet est touché Captur12
et j'ai laissé l'origine du perso à 0,0 pour que le perso suive bien le quadrillage

Je souhaite que mon perso ne suive que le quadrillage c'est pour ça que j'ai bidouillé en utilisant ça... peut être existe il une solution + simple, quoi qu'il en soit mon perso saute des cases du coup lol...
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_

Messages : 9099
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

détruire un objet en étant dessus et non dès que l'objet est touché Empty
MessageSujet: Re: détruire un objet en étant dessus et non dès que l'objet est touché   détruire un objet en étant dessus et non dès que l'objet est touché EmptyMer 15 Nov 2017 - 9:27

Déjà, floor(32/32)*32, ça ne sert a rien, tu évalues une expression constante. Autant mettre juste 32.
(32/32 ça fait 1, floor(1) ça fait 1, et 1*32 ça fait 32).

Essayes de changer ton masque en "manual" afin qu'il fasse la taille d'une case, je pense que ton perso va trop vite et ça peut sauter des cases.

Pourquoi ne pas faire un mouvement case a case "smooth"?
Tu as des fonctions toutes prêtes ici:
http://cbna.forumactif.com/t13101-faq-instances
Section "Je veux déplacer mon objet case par case, comment faire?"

_________________
détruire un objet en étant dessus et non dès que l'objet est touché Runningpotato1détruire un objet en étant dessus et non dès que l'objet est touché TvF6GED
Revenir en haut Aller en bas
Contenu sponsorisé




détruire un objet en étant dessus et non dès que l'objet est touché Empty
MessageSujet: Re: détruire un objet en étant dessus et non dès que l'objet est touché   détruire un objet en étant dessus et non dès que l'objet est touché Empty

Revenir en haut Aller en bas
 
détruire un objet en étant dessus et non dès que l'objet est touché
Revenir en haut 
Page 1 sur 1

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