Messagerie


Re : Boucles Imbriquées

Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
lundi 26 février 2018 à 22:22
Bonjour @tous,

Je cherche à déterminer si deux copies du même objets sont superposées dans la scène.
A savoir qu'elles ont les mêmes coordonnées X et Y.



Pour ce faire,
    j'effectue une première boucle sur les objets[/li]
  • je note leur position

  • je lance une seconde boucle sur l'ensemble

  • je compare les positions

  • si identique, j'incrémente un compteur

  • Enfin, si le compteur est supérieur à 1 (deux correspondances) je le signale



Or, ca ne fonctionne pas  :(

Pouvez-vous m'indiquer mon erreur ?

Ci-joint mon MFA.
Si superposition, les objets devraient clignoter.
Il va de soit que pour le test, il faut en déplacer un et le placer au dessus d'un second objet.

Pièces jointes
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
lundi 26 février 2018 à 22:34
Soit j'ai mal compris la problématique, soit vous avez une remarquable capacité à vous compliquer la vie...
Pièces jointes
Poum
lundi 26 février 2018 à 22:39

Soit j'ai mal compris la problématique...


Non non, tu as bien compris et ton exemple fonctionne comme je le voulais.
Évidement, je pourrais m'en contenter et t'en remercier mais quand même ... où était mon erreur (dans ma logique qui veut se compliquer la vie)  ?  :P
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 27 février 2018 à 08:39
Ta boucle "Seconde" devrait mieux marché si elle était pour chaque rond vert, et en comparant ses coordonnées.
Poum
mardi 27 février 2018 à 09:10

Ta boucle "Seconde" devrait mieux marché si elle était pour chaque rond vert, et en comparant ses coordonnées.


Il n'y a qu'un seul vert que j'utilise comment compteur.

J'avoue que la logique de Clickteam Fusion m'échappe toujours.  ;D
Dommage qu'il n'y ait pas de bons tutos pour l'expliquer.
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 27 février 2018 à 09:20
Du coup ça sert à rien. Et tu ne test pas les coordonnées du rond vert ?
Kloug
1497 messages
Fusion 2.5
mardi 27 février 2018 à 10:37
"où était mon erreur (dans ma logique qui veut se compliquer la vie)  ?"

CTF n'a pas un langage de programmation, mais un pseudo langage, cela passe principalement par une interface, des éditeurs spécifiques.

En gros tes boucles sont fantomatiques. L'exemple de Patrice en est la démonstration. :D

Des explications?
http://comptoir-mmf.eu/Forum/index.php?topic=787.0

 
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 27 février 2018 à 11:08
Difficile de commenter des erreurs structurelles, mais je vais essayer.
Garde en tête que tu peux résoudre tes problématiques de programmation de 100 façons différentes.
L'erreur principale est de vouloir comparer des positions XY au pixel près. Statistiquement, il est très rare que 2 clones soit exactement à la même position au pixel près sauf si tu les aimantes sur une grille ou que tu inclus une marge. Mais ce serait possible, plus complexe mais possible.

Il te faudrait dans ce cas lancer une boucle et une sous boucle, mémoriser les positions XY de chaque objets dans un tableau ainsi que leur valeur fixe et faire un algorithme de comparaison...

Clickteam Fusion est un éditeur qui permet d'appliquer des algorithmes de haut niveau directement en français, il est pensé comme ça.

- Qu'est ce que je veux ?
- Je voudrais que quand deux objets sont en collisions, ils clignotent.
- Et du coup que s'ils ne se superposent pas, ils ne clignotent plus.

Et ça suffit pour résoudre le problème. c'est beau non ? :)
Kloug
1497 messages
Fusion 2.5
mardi 27 février 2018 à 12:14
"Garde en tête que tu peux résoudre tes problématiques de programmation de 100 façons différentes."

Magnifique!  :D
Utilisateurs en ligne
  • Aucun utilisateur en ligne
  • 25 visiteurs au total

Derniers messages