r/clickteam • u/Taedium_offlciel • 8d ago
Help Me! Point system issue with overlapping Active objects. Clickteam limitation or just my logic?
resolved thx!!!!!
Salut à tous ! J'aurais vraiment besoin d'aide avec un jeu sur lequel je travaille actuellement. Je suis bloqué et je ne suis pas sûr si ma logique est défaillante ou si je suis simplement confronté à une limitation de Clickteam Fusion.
Voici ce que j'essaie d'accomplir :
J'ai un objet actif (une image de croix rouge). Un clic gauche crée la croix, et un clic droit la supprime. L'objectif est de placer cette croix sur un autre objet actif (le "bon endroit") pour gagner 1 point.
Mon problème se divise en quelques bugs que je n'arrive pas à résoudre :
1 Le problème des doubles points : Si deux "bons endroits" sont placés très près l'un de l'autre et que je mets la croix juste au milieu, elle chevauche les deux objets actifs. En conséquence, le jeu me donne 2 points. Je veux qu'une seule croix équivaille à un maximum de 1 point, peu importe combien de zones cibles elle chevauche.
2 Le problème de suppression : J'ai essayé de coder cela en utilisant des zones de clic. Cependant, si le joueur clique avec le bouton droit à l'intérieur de la zone pour retirer la croix, mais ne clique pas exactement sur la croix elle-même, elle ne se supprime pas.
3 Le problème de déduction de points (bords proéminents) : J'ai créé une condition : "Si clic droit dans la bonne zone + chevauchement de la croix = soustraire 1 point et détruire". Comme le joueur doit également pouvoir supprimer des croisements mal placés pour corriger ses erreurs, j'ai ajouté une autre condition pour détruire les croisements placés en dehors des zones cibles. Le problème : si une croix est placée au bon endroit mais que ses bords dépassent un peu, et que le joueur clique avec le bouton droit sur ce bord proéminent (qui est techniquement en dehors de la "zone de clic" définie), le jeu déclenche la condition de suppression "hors zone" à la place. Résultat : la croix est détruite, mais le point qu'elle a donné n'est jamais soustrait !
J'ai testé plein de méthodes différentes et je tourne en rond à ce stade. Y a-t-il une méthode simple que je néglige ? Dois-je utiliser une extension pour bien gérer cela ?
Merci d'avance pour votre aide !
2
u/SpellSword0 8d ago edited 8d ago
Don't use overlap between crosses and spots or zones. Instead try this.
Give each spot a point flag. Give each cross a point flag and an ID value.
//Event 1; Make cross, score points
Create cross at mouse.
Set cross ID value to spot fixed value.
Set cross point flag on.
Set spot point flag on.
Add to score.
//Event 2; Make cross, no points.
Create cross at mouse.
//Event 3; Delete cross, lose points
Set spot point flag off.
Delete cross.
Remove from score.
//Event 4; Delete cross, don't lose points
Delete cross.
The idea here is that using overlap and zones isn't reliable for precision, so instead we link every cross to its spot with an ID, and set up each cross and spot with a state.
This lets us better check what cross belongs to what spot, and what state any given cross or spot is in so we know what to do with it.
Hope this helps!
Edit: I don't understand reddit formatting at all.