Personne ne peut m'aider ? [img]<<GRAEMLIN_URL>>/frown.gif[/img]
Printable View
Personne ne peut m'aider ? [img]<<GRAEMLIN_URL>>/frown.gif[/img]
J'avoue que je ne comprend pas trop ou tu veux en venir.
Quoiqu'il en soit si tu travailles avec des qualifiers tu as tout interêt à les diffrenciers en distribuant une valeur et en lancant une boucle.
Alors l'idée pour faire simple est de détecter la superposition totale de deux objets, autrement dit quand tous les pixels d'un objet sont englobés par un autre objet, forcément plus grand. Se produit alors une action sur l'objet masqué.
Pour détecter ce type de collisions, on utilise un principe assez simple (il marche à merveille avec des actifs d'ailleurs) :
Ce type de collision se produit quand un objet est en collision avec un autre objet MAIS pas avec son contour.
Pour cela, on considère les objets comme des groupes de deux objets : l'objet lui-même et son contour, appartenant respectivement à un groupe "objet" et "contour".
Les problèmes qui se posent sont les suivants :
- Comment faire pour que la position d'un objet soit toujours égale à son contour. (il ne faut pas qu'il se retrouve avec le contour d'un autre objet)
- Comment faire pour détecter l'absence de collision entre un objet et le contour d'un autre objet. (il ne faut pas que la collision avec son propre contour soit prise en compte)
Voila, je sais pas si c'est clair, mais je vois mal comment l'expliquer autrement [img]<<GRAEMLIN_URL>>/frown.gif[/img]
Toujours personne pour m'aider pour ce problème là ? [img]<<GRAEMLIN_URL>>/frown.gif[/img]
Il n'y aura personne pour résoudre ton problème, parce que tu souhaites en l'état actuel, réaliser des conditions antinomiques.
Je ne vais pas encore expliquer ce que Graboïde a très bien compris...
Bah non, tu m'excuseras mais je ne vois aucune contradiction dans ce que j'ai dit. Ce que je veux c'est simplement faire ça (http://www.mediafire.com/?i9t7c7p6qlt9nq5) avec des groupes pour ne pas avoir à recopier le même truc pour chaque objet de ma scène... En POO le problème ne se poserait même pas puisqu'on peut utiliser un this en effectuant des tests avec une méthode de la classe par exemple...
-
Tu es certain de ta théorie conceptuelle?
Modestement, je suis l'auteur de deux moteurs (au moins) où des "pro" se sont cassés les dents.
Map&Code et Base Tangram.
Mon niveau scolaire ne me permet pas d'ingurgiter, de la POO, du vice (humour), de la classe, désolé de mon manque de grande éloquence.
Mais quand je dis tu fais fausse route, ben c'est que tu fais fausse route => Point.
L'exemple non open source "TestSTotale", montre un objet (le même plusieurs fois), il change d'animation une fois entièrement en superposition avec un carré. Cela se fait sans variable, ni drapeau avec TGF1 (imagine le niveau que réclame cet exemple).
Perso, je me moque d'avoir raison ou tord, un projet impose des objectifs à atteindre, et pour les atteindre, un seul remède, la pratique, donc des tests encore et encore, voilà l'essentiel.
TestSTotale.zip (357.5 Ko)
http://files.getwebb.org/view-cre64nc7.html
Problème. => Acharnement = Solution.
http://clickmoteur.blogspot.com/2011...-solution.html
-
J'ai pas évoqué la POO pour faire le beau, c'est juste véridique qu'avec la plupart des langages orientés objet, ce problème ne se poserait pas, comme il est aussi vrai que MMF2 facilite bon nombre de trucs par rapport à l'ActionScript par exemple...
Concernant l'exemple, tester la superposition d'objets rectangulaires avec d'autres objets rectangulaires n'est pas franchement difficile. Des tests de position des bordures d'un petit carré avec celles du gros carré suffisent normalement.
Dans mon cas, je cherche à faire des tests de collision au pixel près. Donc à part la base sur laquelle je suis parti, je ne vois aucune méthode qui me permettrait d'atteindre mes objectifs.
Et concernant le speech sur la nécessité de chercher encore et encore, si j'avais eu tout mon temps pour ce projet j'aurais été d'accord avec toi mais là ce projet j'ai un temps limité pour le finir, j'ai encore des dizaines d'autres problèmes à résoudre sur ce projet et j'ai pas que ce projet là sur les bras...
Enfin bref, de toute manière je crois que je vais laisser tomber ce truc. Après avoir fouillé pour la énième fois les conditions de MMF2, j'ai rien trouvé qui permette de tester la collision avec un objet spécifique d'un groupe.
-
Que ce soit avec des carrés ou des ronds, cela ne change rien au principe de base, cela fait toujours 4 lignes, sans variable, qualifieur, groupe, etc.
TestSTotaleRond.zip (359.5 Ko) => Collision au pixel près.
http://files.getwebb.org/view-cre64n92.html
Tu devrais te pencher sérieusement sur la gestion des collisions avec MMF, sinon il te sera difficile de mettre par dessus des variables, si besoin évidemment.
-
Alors là, je ne te suis plus du tout. Tu pourrais m'expliquer comment on est supposé détecter une collision précisément, au pixel près sur des objets parfois très irréguliers en prenant un masque (si je te suis bien avec tes histoires de "4 lignes") rectangulaire ?
Ensuite, je ne vois pas ce que je n'ai pas compris dans le système de collision de MMF. Deux types d'événements : "au dessus de" et "en collision avec". Deux types de détection de collisions : Simplifiées (masque rectangulaire) et précises (au pixel près). S'il y a d'autres options, d'autres moyens, je ne les ais pas encore trouvés et je doute fort que je les trouve dans les jours qui viennent. Depuis plus d'un mois que je tourne en rond face à ce problème, y a pas vraiment de raison que je trouve plus qu'avant, à plus forte raison si on ne me donne même pas le moindre petit indice sur la manière de procéder.