[AS2] courbes curveTo

courbes curveTo [AS2] - Flash/ActionScript - Programmation

Marsh Posté le 29-05-2009 à 12:59:02    

Bonjour à tous.
 
Mon script trace plusieurs courbes les unes à la suite des autres, mais je souhaiterais qu'elles soient bien reliées entre elles.
Car pour le moment elles apparaissent pointues :
http://img241.imageshack.us/my.php?image=courbes.jpg
http://megaswf.com/view/f994583522 [...] 1f975.html
 
Voici la partie de mon code qui trace les courbes :

Code :
  1. function dessineCourbe(courbe){
  2. this[nom_c+courbe].clear();
  3.  this[nom_c+courbe].lineStyle(1, 0x0000FF, 100);
  4.  this[nom_c+courbe].moveTo( this[nom_ptc+courbe+'_0']._x , this[nom_ptc+courbe+'_0']._y );
  5.  var k:Number = 1;
  6.  while(k<(nombre_points-1)){
  7.   this[nom_c+courbe].curveTo( this[nom_ptc+courbe+'_'+k]._x , this[nom_ptc+courbe+'_'+k]._y , this[nom_ptc+courbe+'_'+(k+1)]._x ,this[nom_ptc+courbe+'_'+(k+1)]._y );
  8.   k+=2;
  9.  }
  10. }


Le but ce serait qu'elles soient bien arrondies.
 
Merci d'avance pour vos réponses.

Reply

Marsh Posté le 29-05-2009 à 12:59:02   

Reply

Marsh Posté le 19-06-2009 à 10:32:55    

Ca me parait assez compliqué et je pense qu'il faut un certain niveau en math.
 
Tu dois utiliser les courbes de béziers.
Et t'inspirer du mode de dessin vectoriel. Avec la plume par exemple.
Tu dois reproduire les poignées autour d'un point qui te permette de transformer ta courbe.


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 21-06-2009 à 23:01:27    

Come le dit Zed, il faut que tu sois fidèle à la methode manuelle avec la plume... en script, tu ne donne qu'un point de bezier pour un point de ta ligne... il faudrait donc changer ton algorithme, pour faire en sorte que tes bezier dépende totalement du précédent... en gros, ton point de ligne doit etre entre 2 bézier pour faire une belle ligne... à toi de voir si il faut adapter les bezier, ou les points eux meme


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed