Messagerie


Déroulement du code

Poum
jeudi 2 mars 2017 à 13:30
Là, je deviens fou car quelque chose m’échappe.

On est d'accord que le code d'une scène est lu de manière séquentielle ?
Donc, de haut en bas en bouclant sur l'ensemble.

Or, ... regardez ce code (j'ai flouté tout ce qui n'était pas indispensable)



En bas, en appuyant sur la touche "O" on affecte un drapeau.
En fonction de ce dernier on est sencé terminé l'application. Non ?
Baaah, ici, ça lance la seconde ligne, à savoir un passage à une autre scène.

Pire, si j'inverse les deux premières lignes je termine bien l'application.

Qu'est-ce qui m'échappe ? Le code est lu à l'envers ?  :P
Xsoul
jeudi 2 mars 2017 à 13:51
*Ne se prononce pas*
Poum
jeudi 2 mars 2017 à 14:08

*Ne se prononce pas*


Parce que j'ai fait une grosse bêtise ou parce que tu ne vois pas ?  ::)

Cela dit, si ça peut me permettre de comprendre la logique de lecture du code, ça serait toujours ça de pris.
denisstephane
jeudi 2 mars 2017 à 14:18
Dans ton code,tu lui dit de terminer l'appli avec le drapeau on et en même temps tu lui dit aussi de passer a une autre scene avec le même drapeau.
Donc met plutot drapeau off,terminer l'appli et drapeau on,sauter a une frame.
Ou alors drapeau on 0 pour terminer et drapeau on 1 pour sauter une scene.
Quoi qu'il en soit,su tu lui indique la même condition,même a dix lignes d'intervale,il ne comprendra pas.
Ou sinon,il te faut rajouter une condition supplementaire,mais bon,pas besoin d'aller jusque là.
Si tu inverse les lignes,ben c'est normal qu'il prenne ton autre condition a la place puisqu'elle devient prioritaire.
Poum
jeudi 2 mars 2017 à 14:22

Dans ton code,tu lui dit de terminer l'appli avec le drapeau on et en même temps tu lui dit aussi de passer a une autre scene avec le même drapeau.
Donc met plutot drapeau off,terminer l'appli et drapeau on,sauter a une frame.
Ou alors drapeau on 0 pour terminer et drapeau on 1 pour sauter une scene.
Quoi qu'il en soit,su tu lui indique la même condition,même a dix lignes d'intervale,il ne comprendra pas.
Ou sinon,il te faut rajouter une condition supplementaire,mais bon,pas besoin d'aller jusque là.


Effectivement, ça fonctionne ainsi.
Cela dit, je ne comprends pas sa logique.
Il interprète tout en même temps ?

J'dis ça car là, il devrait tout fermer et oublier le code, or, il oublie qu'il allait fermer et passe à autre chose ?
denisstephane
jeudi 2 mars 2017 à 14:30
Les drapeaux gardent leurs etats jusqu'a ce qu'un changement s'opère.Donc avec tes deux lignes,il considere qu'il y a un changement d'etat.Et c'est la deuxieme qui est utiliser.
Du peu que je vois de ton code,tu lui dit:
Si drapeau 0 on terminer l'appli
Si drapeau 0 on sauter a une autre scene
Lorsque j'appuie sur O mettre drapeau 0 a on

Y a pas un bleme là.
Si tu appuie sur O,y a deux condition opposer,du coup MMF2 lit la derniere qu'il a passer en lisant le code et la met prioritaire,donc la deuxieme.
Poum
jeudi 2 mars 2017 à 14:33

y a deux condition opposer,du coup MMF2 lit la derniere qu'il a passer en lisant le code et la met prioritaire,donc la deuxieme.


effectivement, en inversant les deux lignes ma condition pour tout stopper fonctionnait. Bon, à vrai dire c'était pour l'exemple car en réalité je suis en train d'écrire dans le fichier INI et je ne voyais rien apparaitre.

Donc, MMF n'interprète pas au fur et à mesure mais note tout (je suppose en faisant un passage sur l'ensemble du code) puis, en fonction de ce qu'il a noté réagit.

C'est ça ?

J'aimerais bien comprendre comment ça a été programmé tout ça :)
denisstephane
jeudi 2 mars 2017 à 14:37
Je pense que cela dépend de ce qui est ecrit dans le code.Mais pas evident de savoir qui fait quoi et comment. :P
Kloug
1497 messages
Fusion 2.5
jeudi 2 mars 2017 à 14:44
Hello!

Avec un click soft il est très facile de produire des conditions antinomiques.

Ce que tu viens de produire...

Déjà le choix d'un flag n'est pas ce qu'il y a de mieux, dans ton cas, un flag ce sont deux "toujours", on et off, pas trois.

A mes débuts j'avais la même tendance, par mimétisme, avec CTF, on doit bien décomposer chaque phase, ne pas tout mettre via la même condition, copiée, collée à la oOuf (trop rapidement).

Phase 1) Rester sur la scène en cours.
Phase 2) Quitter.
Phase 3 ) Aller à une autre scène.

A+


Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
jeudi 2 mars 2017 à 14:53
De ce que j'ai observer, les événements aux conditions identiques sont lancés dans l'ordre inverse pour que le premier soit prioritaire. Si par exemple 1- j'appuie sur O = le bonhomme devient bleu et 2- j'appuie sur O = le bonhomme devient rouge, le bonhomme sera bleu et non rouge.
Dans ton cas, vue que la scène change avant, le premier événement ne peut pas être exécuté.
Poum
jeudi 2 mars 2017 à 15:01
Effectivement.

Sachant ça, j'ai revu ma méthode et j'ai décomposé les demandes afin qu'il n'y ait plus de conflit.
Fallait le savoir :)

Merci pour votre aide.
Utilisateurs en ligne
  • Aucun utilisateur en ligne
  • 23 visiteurs au total

Derniers messages