Bonsoir à tous,
Simuler le traçage d'une ligne en AS, mais comme on le ferait avec un crayon .

Problème : :shock: si je trace une ligne en actionScript, celle-ci est dessinée "plus vite que son ombre"...

Ce que je souhaiterais faire c'est que cette ligne se dessine en 1 ou 2 secondes comme on le ferait avec
une régle et un crayon à la main.

Dans l'anim que je suis en train de mettre au point, dans un 1° temps, une main avec son crayon, et une équerre se déplacent
vers un point de départ, puis :o dans un 2° temps, simule le déplacement vertical du traçage d'un trait, mais le trait se trouve dessiné
aussitôt l'action lancée ... et la main termine son mouvement mais décalée et trop tard...

Sur un calque action j'ai donc positionné le
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
MovieClip.prototype.transfo=function(p,d,a,t){ 
//p=valeur "_x" ou "_y" de monclip à déplacer, d=point de départ déplacement, 
//a=pt arrivé, t=temps du déplacement
	   clearInterval(this["inter"+p]) 
   var x=0 
   var i=10					//vitesse de déplacement du clip "equerre"
   var ref=this 
   this["inter"+p]=setInterval(function(){ 
      ref[p]=(a-d)/(t)*(x+=i/1000)+d; 
      updateAfterEvent(); 
      if(x>=t){ 
         clearInterval(ref["inter"+p]); 
         this[p]=a; 
      } 
   },i) 
}
Sur un bouton le code suivant qui au 1° clic (if) déplace dans un premier temps le brasDroit et l'équerre
et au 2° clic, (else) trace une ligne "instantanément" (c'est elle que j'aimerais voir se tracer à une vitesse
égale au déplacement du bras qui tient le crayon ), et déplace le bras sur l'axe y dans une vitesse normale...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
on (press) {
	if (trait1 != 4) {
			varJ=50
			trace ("coucou4")
			brasD_clp.transfo("_x",varJ+varKtremie/10,varJ+varMreculee/10,1,Math.sin)
			brasD_clp.transfo("_y",varJ+varLcage/10,varJ+varLcage/20,1,Math.sin)
			equerre.transfo("_x",varJ+varKtremie/10+10,varJ+varMreculee/10,1,Math.sin)
 
			trait1=4;
 
		} else  {
			moveTo (varJ+varMreculee/10,varJ+varLcage/20);
			lineStyle(2,0xFF0000,80); 
			lineTo (varJ+varMreculee/10,varJ+varLcage/10);
			brasD_clp.transfo("_y",varJ+varLcage/20,varJ+varLcage/10,1,Math.sin)
			gotoAndStop(11);
		}
}
Voilà j'espère être assez clair. .. C'est sans doute au niveau de lineTo qu'il y a quelque chose à faire, mais quoi ???

Merci d'avance pour votre aide ...
@+Thaisno