[RESOLU]Objet en déplacement, quel déplacement ?

Bonjour,

GD est capable de reconnaitre un objet en déplacement. Mais je me demandais quel type de déplacement.
Sur les axes x et y, c’est sûr.
Mais en cas de rotation ?
Et en cas de changement d’échelle ?
Et en cas de changement d’échelle de la caméra ?

Je demande parce que j’ai l’impression que GD considère un objet en déplacement quand sa direction change, même s’il fait du surplace pour l’utilisateur.
Je voulais savoir s’il y avait d’autres cas où le déplacement est “flagged” même si ce n’en est pas un à priori …

GD possède une condition permettant de savoir si un objet est à l’arrêt, mais cette action ne fait que vérifier qu’aucune force ne s’applique sur l’objet.
( A moins que tu ne parlais d’une autre fonctionnalité ? )

Dans Condition → Objet → Déplacements → Objet est à l’arrêt.
C’est quoi un objet à l’arrêt exactement ?

Si j’ai bien compris ce que tu as écrit, ce serait un objet sur lequel “aucune force ne s’exerce”.
Donc, un objet qui tourne sur lui-même, bien que restant à la même position à l’écran, est considéré comme “en mouvement” ?
J’ai bon ?

Mais un objet dont on fait varier l’échelle en largeur ou en hauteur n’est pas en mouvement.
J’ai bon ?

C’est là dessus que porte ma question.
Intuitivement, on considère un objet en mouvement quand ses x,y varient. Mais quid des rotations/déformations (qui font varier eux aussi les x,y, bien que l’objet ne se déplace pas) ?
Un détail technique, quoi … :slight_smile:

Très précisement, la condition vérifie que la force résultante de toutes les forces qui s’appliquent sur l’objet soit de longueur nulle. C’est à dire :
-Soit l’objet n’a aucunes forces d’appliquées sur lui
-Soit l’objet a des forces appliquées sur lui mais elles se compensent et l’objet ne bouge donc pas.

La condition ne prend pas en compte les changements d’échelles, rotations ou les déplacement “manuels”, c’est à dire si vous changez la position X ou Y avec les actions de positionnement.

Donc, pour prendre un cas concret :

  • j’ai un sprite Asteroide
  • je le fais tourner sur lui-même avec Asteroide.Direction()+1
    → Objet à l’arrêt
  • je lui colle une force d’angle
    → Objet en mouvement

Tout à fait :slight_smile: