Voilà, j'ai un sprite (un dinosaure) à une position x0,y0 à un instant t0, avec une direction initiale donnée par "direction".
Je veux qu'il glisse en une nouvelle position x1,y1 mais AVEC la bonne direction, c'est-à-dire en regardant vers (x1,y1).
En mettant la nouvelle direction à atan((y1-y0)/(x1-x0)), cela ne marche pas.
Avez-vous une idée ?
merci d'avance.
Offline
Bonjour,
1 Une première méthode sans utiliser les mathématiques est de créer un lutin (un simple point ) et de le placer en (x1;y1) il suffit alors de pointer en direction de ce lutin.
2 Mais cela ne répond pas à ta question.
Une autre méthode est de mettre la nouvelle direction à 90 - atan((y1-y0)/(x1-x0)).
En effet : atan sur Scratch donne un angle de mesure entre -90 et 90 dans le repère trigonométrique usuel .Mais les angles dans Scratch sont orientés dans le sens des aiguilles d'une montre avec l'origine à 0h (par exemple 2h correspond à 60 degrés, 6 h à180).
Il faut donc faire ce petit changement pour avoir la bonne direction.
Attention cela fonctionnera correctement que si x1 supérieur à x0 sinon il faut prendre l'opposé pour la direction.
J'espère avoir répondu à ta question.
Last edited by mathjp (2011-09-21 04:26:10)
Offline
Je réalise aujourd'hui seulement que je n'avais pas dit merci à mathjp pour cette précieuse réponse !
Last edited by nathalierun (2012-02-13 00:20:38)
Offline