Bug dans hitTest

malicious06 Messages postés 20 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 17 novembre 2005 - 16 nov. 2005 à 17:21
SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007 - 17 nov. 2005 à 18:59
Si je met deux carrés l'un à côté de l'autre, il n'y a pas de pixel qui
les séparent mais il n'y a pas de collision non plus et pourtant
hitTest renvoie vrai !

5 réponses

SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
16 nov. 2005 à 18:27
Effectivement, il faut décaler les deux carrés de 0.1px pour que le hitTest renvoie false.

SuperDevy, c la !
0
malicious06 Messages postés 20 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 17 novembre 2005
16 nov. 2005 à 19:06
ouais c'est bien beau mais ce bug est chiant quand tu fais un jeu ou
tout se construit avec des entiers et teste au pixel près...
C'est quoi ces coders même pas foutu de savoir faire une fonction qui
determine si un rectangle est superposé à un autre !
0
SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
16 nov. 2005 à 21:01
Ou alors, tu peux réduire la largeur de ton rectangle de 0.1px !
mais est-tu sûr d'avoir besoin du hitTest ? C'est un fonction très lente qu'il faut éviter d'utililiser trop. Peut-être que tu peux te débrouiller en comparant les _x de tes deux carrés ?

SuperDevy, c la !
0
malicious06 Messages postés 20 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 17 novembre 2005
17 nov. 2005 à 08:19
ça dépend, j'essaye de l'utiliser le moins possible ou alors d'utiliser
l'autre forme (x,y) quand c'est possible mais c'est bizarre qu'arrivé à
la version 7 ou 8 de flash ça ne soit pas corrigé, de même avoir la
possibilité d'une collision de type superposition "de forme" autre
qu'un rectangle même si c'est lent ça pourrait toujours servir...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
17 nov. 2005 à 18:59
Il existe une variente à clip.hitTest(cible), c'est clip.hitTest(x, y, forme)
Il me semble qu'avec les nouvelles classes de Flash 8, tu peux détecter les pixels.

SuperDevy, c la !
0
Rejoignez-nous