Bonsoir,
je m'acharne depuis un moment sur un soucis qui semble difficile à résoudre.
J'explique tout d'abord le contexte. j'ai plusieurs instances d'un même objet qui se comportent toutes de manière autonome grace à une fastloop qui les passe une par une à chaque boucle du programme.
exemple :
- always
: spread value 0 in value A of "ative object"
: start loop "lookat" for Ncount("active object")
Maintenant mon problème est que si l'un de ces objets est en superposition avec un obstacle une animation doit être jouée après un "restore animation sequence".
j'ai donc fait :
- On loop "lookat"
- value A of "active object" = loop("lookat")
- "active object" is overlapping a backdrop
: restore animation sequence
: "active object" play animation "truc"
Je pourrais mettre la condition "Only one action when event loop" pour ne pas répéter l'événement si jamais il a déjà été déclenché dans la boucle précédante de MMF. Cependant il ne semble servir à rien dans ce cas car plusieurs objets sont testés dans la même fastloop. Du coup ça fonctionne mais pour un seul objet de toutes les instances, ce qui est logique au final car "Only one action when event loop" sert à ça mais ne semble pas se rendre compte que ce n'est pas la même boucle et ne fait pas le lien avec la boucle précédante...
Je cherche à trouver une méthode pour que l'animation ne soit lancée qu'une seule fois avec cet événement mais je ne vois pas vraiment comment faire... Si je ne met pas "Only one action when event loop", mon animation se joue mais je n'obtiens que la première image de cette dernière car elle est relancée à chaque boucle de MMF.
J'ai pensé à fixer la valeur "value B" de l'objet au lieu de jouer l'animation directement. Cette valeur est testée hors de la boucle avec "Only one action when event loop" pour lancer la bonne animation. Ca fonctionne sauf quand évidemment les objets "active object" (la même instance) ont leur valeur "value B" fixée en même temps (d'où la Fastloop) car sont superposés à un obstacle en même temps.
C'est un problème compliqué et je ne sais pas si je me suis bien expliqué.
Merci de l'aide d'avance.
PS: Je sais que dans mon exemple remplacer "Is overlapping a backdrop" par "collides with background" corrigerait le probèleme mais c'est un exemple pour illustrer le problème. Le but est de savoir comment simuler un "Only one action when event loop" dans une fastloop.










Reply With Quote
