Changer d'animation décale le positionnement

Bonsoir,

J’ai un sprite, avec deux animations.
Je change l’échelle de ce sprite car il est trop gros.
Je modifie régulièrement la position de ce sprite.
Lorsque ce sprite se collisionne avec mon curseur de souris, il change d’animation.

Jusque là, ça va.

Le souci est qu’à cet instant de collision, mon sprite animé se décale de 200 pixels au moins vers la droite, brutalement.
Comme si, lors du changement d’animation, le sprite reprenait son échelle normale un court instant, le temps de changer l’animation et de réappliquer l’échelle actuelle.
GD repositionnerait alors mon sprite à partir de son échelle d’origine, décalant d’autant la position réelle du sprite.
C’est en tout cas, l’impression que ça me fait …

C’est normal, docteur ?

Salut;

ce n’est pas un bug car cela viens de ton spirite,

En effet GD prend le coin supérieur gauche d’un spirite:


Ici en bleu sont les coins

On remarque que GD le prend bien dans le premier mais pas dans le deuxième (la position est décaler par rapport au blanc

Malheureusement, il s’agit bien du même sprite. La seule différence graphique est un changement de colorisation.
Il est renversé sur la deuxième image car il se dirige vers le bas (il est légèrement plus haut que le point bleu de référence, il se tourne donc vers lui).
C’est peut être un problème avec mes évènements, mais j’en doute. Je ne rencontre pas ce problème tant que je ne change pas le numéro de l’animation.

J’ai contourné ce souci en jouant sur le mode Add du sprite, selon qu’il est en contact avec le curseur (Mode Add) ou non (Mode Alpha).
Sur un fond noir, le résultat visuel est sensiblement le même. Donc ça passe pour ce que je veux faire.
Mais pour ceux qui utilisent des sprites animés, il risquent d’avoir des surprises lorsqu’ils voudront les redimensionner ingame (pour simuler un zoom, une déformation, etc.).