Afficher la trajectoire d'un clip dans flash

Bon bah la question est dans le titre.

Comment on fait pour que flsh me dessine la trajectoire de l’objet sous la forme d’une courbe dont je peux définir la couleur…
Ca doit être tout bête mais je trouve pas … Help !

Merci

Je up un petit peu en posant une autre question :
Comment on fait pour faire bouger un MC losrqu’on a une vitesse radiale ?

Tu va te faire tapé sur les doigts a posté ça ici ça va dans gribouillage.

Bon sinon, je comprend pas trop ce que tu veut faire, tu veut faire suivre a un clip une courbe, mais tu veut pouvoir changer la couleur de la courbe ?

2/qu’est-ce que tu entend par “radial” ?

Non non, c’est de la programmation tout ça !
En fait, mon clip a une trajectoire que je ne peux pas connaitre à l’avance. En fait je veux que lorsque je lance l’anim, mon clip, lorsqu’il se mettra en mouvement, laisse une trace derrière lui.

Mon animation, c’est des planètes qui tournent, mais je dois pouvoir changer facilement la vitesse de rotation. C’est pour ça que j’utilise une vitesse radiale (qui s’exprime en °*s^-1 degrés par secondes^-1) voila.
En fait j’arrive pas à trouver de relations qui me permette de faire bouger ma planète autour du milieu de mon anim. Suivant un cercle.
Mais je veux pas avoir à créer un cercle, ça doit être fait dynamiquement tout ça ouioui.

C’est pour ça que je poste dans seg fault.

Salut !

Bon , mon aide va etre tres succincte.

Je suis en pleine programmation d’un petit shoot’em up en Flash et je me suis penché sur les trajectoire… malheureusement , tout ce que je peux te dire c’est que l’equation d’un cercle ( si c’est ce que tu cherches ) je ne la connais pas bien , je sais juste qu’il me semble que c’est une multiplication entre cosinus et sinus d’un angle, et que la vitesse radiale est simplement l’augmentation de la cadence d’incrémentation d’angle…

Voilà , desolé de mon inutilité , je vais aller me fouetter les testicules avec des orties fraichement cueillies

Edit : more help …

Un de mes potes m’a pas mal tuyauté pour mon petit jeu, il touche pas mal , je peux lui demander eventuellement si tu patauges
D’ailleurs c’est deja fait , il se trouve que j’en avais besoin aussi pour les trajectoires des ennemis… Je te post la reponse demain ou ce soir si je l’ai…

Ce message a été édité par Monsieur_Max le 11/10/2004

La solution : les coordonnées polaires.

les coordonnées carthésiennes serviront juste à l’affichage, autrement tous les calculs
doivent se faire en coordonnées polaires, sinon c’est brise neurone au possible.

x = phi * cos(theta);
y = phi * sin(theta);
où theta est l’angle et phi la distance au centre des coordonnées (le soleil?)
en plus ça a le mérite d’être simple pour modifier la vitesse des planetes

theta = theta + vitesse angulaire (modulo 2PI si possible)

Ah j’ai failli oublier, les angles sont en radians. Ouais c’est moche.

Merci TwinSide,

Pour la partie modification de la position, l’ideal est d’incrémenter d’un degré on va dire et de regler l’intervalle d’actualisation de l’image à coup de setInterval() et updateAfterEvent()…

Moi je vais tout de suite appliqué les fromules de TwinSide , ca va rouské !

Ah mais je suis un abruti !!!
L’equation d’un cercle, c’est super simple en fait !!
(x-p)²+(y-k)²=R² avec p et y les coordonnées du centre et R le rayon. Mais je ne sait pas si c’est facile à faire en flash. Je regarde et j’edite.

Je teste aussi la technique de [b] TwinSidE

[/b]Je testerait ça après les cours, j’éditerai dans la soirée.

Merci !!

EDIT : Oubliez pas aussi le petit problème de dessin de la trajectoire

Ce message a été édité par NaarShadaa le 12/10/2004

Salut,

J’ai utilisé la technique donnée par mon pote qui se rapproche de celle de TwinSide, et ça fonctionne impecc…

Voici ce qu’il m’a ecrit :

Tu te rapelle de la formule que je t’avait donné pour envoyer un tir
dans une direction donnée d’après un angle ?

Ca partait d’un vecteur unitaire (qu’on appelera direction)
représentant un déplacement d’une unité dans une direction quelconque:

direction.x = cos(angle)
direction.y = sin(angle)

Supposons que le centre du cercle de rotation de ton ennemi soit un
vecteur nommé centre. Il te suffit de multiplier direction par le
rayon du cercle de rotation, et de l’ajouter à centre:

ennemi = centre + rayon * direction

ce qui donne:
ennemi.x = centre.x + rayon * direction.x
ennemi.y = centre.y + rayon * direction.y

et donc
ennemi.x = centre.x + rayon * cos(angle)
ennemi.y = centre.y + rayon * sin(angle)

Et bien sur, tu augmente angle avec le temps, plus ou moins vite selon
la vitesse de rotation voulue.

Accessoirement, tu peut faire toutes sortes de trucs en jouant aussi
sur le rayon en fonction du temps. Par exemple, si tu le fait
augmenter ou diminuer régulièrement, tu obtient une spirale.

Voilà, donc ca reste dans les 2 cas assez simple , le tout est de savoir ce qui demande le plus de calculs au processeur …

Pour le tracé de la trajectoire , si j’ai bien compris, ca va etre du gateau, avec la methode movieClip.lineTo() tu traces des lignes entre differents points et voilà , tu as un tracé de la trajectoire… Plus tu traceras de lignes , plus la trajectoire aura un aspect courbe ( mais plus ca chargera le processeur et l’animation )

Pour la couleur , c’est à grand coup d’objet Color() et de setTransform(), tout cela etant tres bien detaillé dans le dico ActionScript. Ca te permettra en plus de faire de jolis effets de couleurs sur cette trajectoire, le tout étant de tracer toutes les droites formant la courbe dans un meme clip parent et de faire changer les couleurs de ce clip parent.

@Plus

Max

Edit: correction

Ce message a été édité par Monsieur_Max le 12/10/2004

Un conseil pour ce qui concerne flash en particulier tu devrai aller jeter un oeil sur flash-forum.net, je pense que c’est la meilleure ressource flash francophone que tu peux trouver.

Pour ton problème en effet c’etait simplement un petit problème de trigo de base