kujaff Très bonne participation
Messages : 127 Localisation : Dans mon Atelier Projet Actuel : Puzzle/Reflexion
| Sujet: [Résolu]Condition bugguer ou mal exécuté Lun 15 Sep 2014 - 23:04 | |
| Salut, j'ai un soucis avec une condition qui s’exécute dans un step... - Code:
-
if obj_id.remplie == 1 { if !collision_rectangle(x+48,y+8,x+56,y+40,obj_tuyau_1,true,true) || !collision_rectangle(x+48,y+8,x+56,y+40,obj_tuyau_3,true,true) || !collision_rectangle(x+48,y+8,x+56,y+40,obj_tuyau_4,true,true) { global.ini = 2 } } obj_id.remplie est bonne, elle passe bien a 1 au moment voulu. Le soucis c'est les collisions. S'il n'y a pas l'objet A OU l'objet B OU l'objet C, alors -> blabla... Le soucis est donc que objet a coté ou pas, la variable globa.ini passe a 2 dès que obj_remplie == 1... Problème d’exécution ou c'est moi ? Même avec un Else, le résultât reste le même... Pourtant, l'objet est bien a coté ! Et les coordonnées sont bonne... Même en éloignant la collision de "mère", ça foire... - Code:
-
{ global.ini = 2 } else { global.ini = 1 } Cordialement.
Dernière édition par kujaff le Mar 16 Sep 2014 - 3:56, édité 1 fois |
|
red-error Utilisateur confirmé: Rang ****
Messages : 1015 Projet Actuel :
| Sujet: Re: [Résolu]Condition bugguer ou mal exécuté Lun 15 Sep 2014 - 23:52 | |
| La condition est remplie si une des trois non-collisions est remplie (si 1 ou 2 ou 3).
Si tu veux que ça se remplisse tant que y'a pas de collision du tout, tu veux peut-être utiliser des && (et) ? |
|
kujaff Très bonne participation
Messages : 127 Localisation : Dans mon Atelier Projet Actuel : Puzzle/Reflexion
| Sujet: Re: [Résolu]Condition bugguer ou mal exécuté Mar 16 Sep 2014 - 0:47 | |
| Bah, c'est le but que se soit l'une des trois collision ^^' - Citation :
- La condition est remplie si une des trois non-collisions est remplie (si 1 ou 2 ou 3)
Sauf que mon soucis, c'est que les conditions de non-collision ne sont pas prit en compte, en gros, si je dois résumer ce qui se passe par un code : - Code:
-
if obj_id.remplie == 1 { global.ini = 2 } } Ça donnerai ça... Or je veux : - Code:
-
if obj_id.remplie == 1 { if !collision_rectangle(x+48,y+8,x+56,y+40,obj_tuyau_1,true,true) || !collision_rectangle(x+48,y+8,x+56,y+40,obj_tuyau_3,true,true) || !collision_rectangle(x+48,y+8,x+56,y+40,obj_tuyau_4,true,true) { global.ini = 2 } } - Citation :
- Si tu veux que ça se remplisse tant que y'a pas de collision du tout, tu veux peut-être utiliser des && (et) ?
ça se remplie (collision ou pas), la variable global.ini = 2 signifie qu'il n'y a pas de collision a coté de lui, donc le liquide tombe par terre, sauf que tuyau a coté ou pas, la variable global.ini passe a 2 dès que le tuyau est remplie... Or je veux que quand le tuyau est remplie, il vérifie s'il y a un tuyau pour réceptionner, sinon, le liquide tombe par terre (global.ini = 2) Donc, pour résumer mon soucis, la ligne de code suivant n'est pas prit en compte - Code:
-
if !collision_rectangle(x+48,y+8,x+56,y+40,obj_tuyau_1,true,true) || !collision_rectangle(x+48,y+8,x+56,y+40,obj_tuyau_3,true,true) || !collision_rectangle(x+48,y+8,x+56,y+40,obj_tuyau_4,true,true) ------------------------------------- En faite, j'ai poussé la recherche a fond... Les collisions/non-collisions sont bonne, c'est donc bien l’exécution qui était mauvaise... Voici le code que j'ai modifié pour que ça marche nickel. - Code:
-
if obj_id.remplie == 1 && fin == 0 { if (collision_rectangle(x+48,y+8,x+56,y+40,obj_tuyau_1,true,true) || collision_rectangle(x+48,y+8,x+56,y+40,obj_tuyau_3,true,true) || collision_rectangle(x+48,y+8,x+56,y+40,obj_tuyau_5,true,true)|| collision_rectangle(x+48,y+8,x+56,y+40,obj_tuyau_sortie_1,true,true)) { global.ini = 1 fin = 1 } else { global.ini = 2 fin = 1 } } Le soucis était donc que la condition était répété en boucle ! Donc forcement, la variable global.ini ne correspondais plus vraiment vue que ce code est dans plusieurs objet (tuyau de formes différentes). Donc... Normal... J'ai donc rajouter une variable "fin" en local, qui permet donc de "bloquer" cette "boucle". Et voilà... C’était vraiment... "Simple", même si j'avais déjà essayer, j'avais dut, une fois encore, une erreur ^^' Ducoup j'ai pue résoudre on soucis ! :fière: et je partage la résolution, au cas où ça peut servir. Cordialement. |
|
Contenu sponsorisé
| Sujet: Re: [Résolu]Condition bugguer ou mal exécuté | |
| |
|