Vous n'êtes pas identifié(e). Pour pouvoir écrire ou répondre à un message, vous devez vous connecter ou vous créer un compte sur JAWA.

#1 04-03-2021 09:43:31

6ril
Membre
Inscription : 09-01-2021

Comportement autonome ✓

Bonjour,

J'essai d'afficher un chronomètre qui va changer d'apparence en fonction du temps qui reste dans la variable _chrono.
Et ca marche pas bien.

J'ai un objet dont l'image principale est un chronomètre affichant 20s (img1).
J'ai mis en image secondaires le chronomètre affichant 15s (img2), 10s (img3), 5s (img4) et 0s (img5)

J'ai créé 4 comportements autonomes contenant ceci :

Condition : _chrono=0
Effet : modifier:65081:image:5
         pause:1

Condition : _chrono>0
               _chrono<5
Effet : modifier:65081:image:4
          pause:1

Condition : _chrono>5
               _chrono<10
Effet : modifier:65081:image:3
          pause:1
Condition : _chrono>10
               _chrono<15
Effet : modifier:65081:image:2
          pause:1

Résultat, mon chronomètre ne change que deux fois d'image ... il passe à zero et à 15s mais je n'ai pas trouvé pourquoi.

Y-aurait-il quelque chose qui m'aurait échapé sur les comportements automnomes ?

Cyril

Hors ligne

#2 04-03-2021 20:42:46

jawa
Admin

Re : Comportement autonome &check;

Hello
Je pense que c'est parce que dans certains cas, quand le chrono est pile sur 5 ou 10 ou 15 aucune interaction ne matche vos conditions. Ex  : si l'une est >5 et la suivante <5, le cas =5 ne sera pas pris en compte. il faudrait dans les conditions mettre l'une des 2 clauses à <= ou >= (et mettre une tempo à 5s sera plus optimal, pas besoin de retester toutes les secondes dans votre cas)

De manière générale si un comportement ne contient que des interactions avec conditions, et qu'aucune condition n'est matchée, le comportement s'interrompt. Pour pallier à ça il faut mettre une interaction "balai" de priorité minimale sans condition qui jouera le comportement par défaut (dans votre cas réattendre 1s)

Est-ce que ça résout votre pbm ?

Z
NB : quand vous rapportez un bug ou posez une question, pensez à préciser les id du jeu, scenes, objets , interactions concernées.

#3 13-03-2021 19:25:32

6ril
Membre
Inscription : 09-01-2021

Re : Comportement autonome &check;

Hello,
Merci pour ta réponse, ça fonctionne quand même mieux en ajoutant un "<=" dans les conditions.
C'était bien deviné !

Il y a quand même quelque chose de bizarre avec les images secondaires.
J'ai mis une image du chrono à 20s comme image primaire. Puis en secondaire, des images du chrono à 15, 10, 5 et 0s.
Quand mon chrono s'initialise, c'est l'image secondaire à 0s qui s'affiche d'abord, ensuite, il passe bien à 15s, 10s, etc en fonction de la valeur du chrono.

Cet objet a d'abord eu comme image primaire, un chrono à 0s, puis j'ai remplacé l'image par celle à 20s. Se pourrait-il que l'image soit resté en cache quelque part ?

L'ID du jeu : #4053
La scène : #12858
Objet : #65081


6ril

Hors ligne

#4 15-03-2021 11:29:55

jawa
Admin

Re : Comportement autonome &check;

Re
J'ai pas regardé dans le jeu mais déjà est ce que l'image par défaut de l'objet est bien réglée sur l'image principale(primaire) de l'objet ?
ce réglage apparait sous les images secondaires, et permet d'utiliser par défaut une image secondaire au lieu de la principale.

#5 16-03-2021 19:00:54

6ril
Membre
Inscription : 09-01-2021

Re : Comportement autonome &check;

Re,
Oui je n'avait pas vu cette option mais c'est bien l'image principale qui est initiale

Hors ligne

#6 17-03-2021 10:34:12

jawa
Admin

Re : Comportement autonome &check;

Ca me semble normal aussi, en entrant dans la scène tu arrêtes le chrono (interaction 50887), donc la variable "temps restant au chrono" (_chrono) passe, ou reste à 0, et donc  le comportement du chrono exécute l'interaction 52400 qui le remet à l'image de fin.
Pour éviter ça il faudrait éventuellement ajouter sur les comportements une condition basée sur une sur une variable tierce qui se valide qu'au moment ou la partie chronométrée démarre.

#7 19-03-2021 17:44:30

6ril
Membre
Inscription : 09-01-2021

Re : Comportement autonome &check;

L'interaction au moment d'entrer de la scène était une erreur. Je l'ai supprimé.
Mais ce qu'il se passe, c'est que la première valeur du chrono que mon comportement autonome mesure est 0. Le chrono est déclenché ensuite...
Effectivement en utilisant une variable "chrono démarré" ca va résoudre le pb.

Merci

Hors ligne

Pied de page des forums