mailys6
Messages postés49Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention 1 octobre 2005
-
12 avril 2005 à 15:09
mailys6
Messages postés49Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention 1 octobre 2005
-
12 avril 2005 à 16:22
Dans mon programme, j'ai besoin de faire des lignes pointillées (dashed). Je n'ai pas trouvé de sources ou de personnes ayant eu besoin de faire une telle chose.
J'ai l'intention de faire une fonction ayant pour entrée les coordonnées du point de départ de la ligne et les coordonnées du point d'arrivée.
Je pense que pour faire cette fonction, je vais faire pleins de petites lignes alignées du point de départ au point d'arrivée. A première vue, ca me semble fastidieux mais c'est la seule méthode auquelle j'ai pensé.
Est-ce quelqu'un aurait une autre idée sachant qu'au départ je n'ai que 2 points ?
durand2504
Messages postés163Date d'inscriptionmercredi 10 novembre 2004StatutMembreDernière intervention21 février 2006 12 avril 2005 à 15:32
Salut,
le plus simple à mon sens est de faire une boucle et d'utiliser la
fonction permettant de tracer des lignes. comme elle n'existe pas en
flash5, je ne la connait pas bien.
sinon, d'un point de vue conception:
1) calculer la distance entre les deux points dist=(sqr(x2+y2))
2) calculer le nombre de trait de longueur Lt et d'intervalle de longueur Li que l'on peut placer.
Si dist < Lt alors on trace 1ligne de longueur dist
Si Lt<dist<2Lt+Li alors on trace 2 lignes de longueur dist/3 et un intervalle de longueur dist/3
Si dis>2Lt+Li (cas le plus fréquent)
on calcul le nombre de couple 1pointillé+1 intervalle : Nc=Math.floor(dist/(Li+Lt))
on calcul la longeur résiduelle:
lr=dist-Nc
Si lr<Lt, le dernier trait sera plus petit que les autres
Si lr>Lt, alors on aura
le premier et le dernier trait plus petit, sinon la ligne s'arrête
avant le dernier point
3) on trace
prévoir le cas dist<Lt //pas fastidieu
prévoir le cas Lt<dist<2Lt+Li //ça va encore
prévoir les autres cas // utiliser une boucle pour désiner les Nc traits normaux
voilà, si tu as besoin d'explication supplémentaires, n'hésite pas.