| Petit bug | |
|
|
Auteur | Message |
---|
albisse Utilisateur confirmé: Rang *
Messages : 233
| Sujet: Petit bug Lun 4 Aoû 2014 - 18:24 | |
| Re ^^ J'en profite pour vous demander comment je pourrai debug mon jeu , je m'explique , j'ai un block qui est cencé delete le block qui est a x+32 de lui . Pour cela j'ai mis : - Code:
-
if on=1{temps2+=1}
if on=1{ if temps2=30{temps2=0 with(mc_solide){if (x=obj_casseur.x+32 && y=obj_casseur.y){instance_destroy()}} }} ( mc_solide est une famille qui regroupe plusieurs autre blocks ( l'objet qui delete est aussi dans cette famille ) ) Et ce qui est bizzard c'est qu'un seul objet supprime le block qui est a x+32 de lui o_O |
|
| |
chopsuey Utilisateur confirmé: Rang ***
Messages : 523 Localisation : saint etienne Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...
| Sujet: Re: Petit bug Lun 4 Aoû 2014 - 19:23 | |
| C'est simple. tu dis : if x=obj_casseur.x+32 obj_casseur c'est le nom de toutes les instances de cette objet donc le programme ne sais pas de laquelle tu parles, et dans le doute il choisi la 1er créer. Donc obj_casseur.x renvoie le x de la 1er instance crée. chaque instance a sa propre identité (id) quand tu dis with mc_solide là ça marche par ce que with effectue un balayage de toutes les instances de ce nom. Si tu veux savoir si il y a un de ces obj_casseur à -32 pixels il te suffit d'utiliser place_meeting()
if on=1{temps2+=1}
if on=1{ if temps2=30{temps2=0 with(mc_solide){if place_meeting(x-32,y,obj_casseur) {instance_destroy()}} }}
Et normalement (je sais plus pourquoi) il est conseillé de doubler le = lorsque l'on pose une question: if on==1 |
|
| |
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Re: Petit bug Lun 4 Aoû 2014 - 20:31 | |
| - chopsuey a écrit:
- Et normalement (je sais plus pourquoi) il est conseillé de doubler le = lorsque l'on pose une question:
if on==1 Car = c'est pour assigner, == pour comparer. En GML c'est pas grave mais ça peut faire planter une compil en C++. |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Petit bug Lun 4 Aoû 2014 - 20:35 | |
| Ou pire, ne pas la faire planter... bon courage pour trouver le bug. |
|
| |
chopsuey Utilisateur confirmé: Rang ***
Messages : 523 Localisation : saint etienne Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...
| Sujet: Re: Petit bug Lun 4 Aoû 2014 - 20:45 | |
| "bon courage pour trouver le bug." Ben je pense l'avoir trouvé là.
"Car = c'est pour assigner, == pour comparer" Ouais je sais ça mais je savais plus si ça faisait quelque chose en gml ou pas. Enfin moi j'ai pris l’habitude de le faire même si ça sert à rien ^^ |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Petit bug Lun 4 Aoû 2014 - 20:56 | |
| |
|
| |
chopsuey Utilisateur confirmé: Rang ***
Messages : 523 Localisation : saint etienne Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...
| Sujet: Re: Petit bug Lun 4 Aoû 2014 - 21:11 | |
| A oui ok j'suis bête |
|
| |
albisse Utilisateur confirmé: Rang *
Messages : 233
| Sujet: Re: Petit bug Lun 4 Aoû 2014 - 21:26 | |
| Merci beaucoup je vais voir sa ^^ |
|
| |
albisse Utilisateur confirmé: Rang *
Messages : 233
| Sujet: Re: Petit bug Lun 4 Aoû 2014 - 22:55 | |
| Maintenant a chaque fois que je pose l'objet il casse direct le block a coté ( il faut que j'active mon block pour qu'il casse ) .
Du coup c'est l'inverse , avant il y avait qu'un seul block casseur qui cassait les block a coté mais la c'est carrément tout les blocks meme si ils son pas activer :/ |
|
| |
chopsuey Utilisateur confirmé: Rang ***
Messages : 523 Localisation : saint etienne Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...
| Sujet: Re: Petit bug Lun 4 Aoû 2014 - 23:32 | |
| Ben faut pas mettre with mc_solide en faite. teste directement depuis l'objet casseur si un objet mc_solide est à sa droite.
if place_meeting(x+32,y,mc_solid) { id_mc_solide=instance_place(x+32,y,mc_solid) with id_mc_solide {instance_destroy()} } |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Petit bug Mar 5 Aoû 2014 - 10:14 | |
| Pas très opti ce double check. Pour info instance_place renvoie l'id de l'instance en contact, et s'il y en a pas, elle renvoie noone (-4).
Donc il vaux mieux l'utiliser directement: ins = instance_place(x+32, y, mc_solid) if(ins != noone) { ... } |
|
| |
chopsuey Utilisateur confirmé: Rang ***
Messages : 523 Localisation : saint etienne Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...
| Sujet: Re: Petit bug Mar 5 Aoû 2014 - 10:32 | |
| A oui j’étais pas sûr je pensais que peut être ça renverrait rien si il y avait rien, donc dans le doute j'ai rajouté place_meeting(). |
|
| |
Contenu sponsorisé
| Sujet: Re: Petit bug | |
| |
|
| |
| Petit bug | |
|