En fouillant sur le forum je suis tombé sur une animation tween permettant de reproduire un fil.
J'ai donc adapté le code à mon application mais je tombe sur un problème de calque.
En effet le fil passe derrière les clip posés sur la scène alors que je voudrais qu'il soit au 1er plan ou par exemple passe devant le 1er clip vert/bleu et derrière le clip tout vert.
voilà le code :
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
var sprite:MovieClip = new MovieClip;
addChild(sprite);
sprite.graphics.drawCircle(3,3,5);
sprite.graphics.endFill();
//graphics.lineStyle(1);
var tweenX:Tween=new Tween(sprite, "x", Elastic.easeOut,0,r1.x-(r1.x-b2.x)*.5,.05,true);
tweenX.addEventListener(TweenEvent.MOTION_CHANGE, tweenChange);
var tweenY:Tween=new Tween(sprite, "y", Bounce.easeOut,0,r1.y+(r1.y-b2.y)*.5,.0005,true);
tweenY.addEventListener(TweenEvent.MOTION_CHANGE, tweenChange);
r1.addEventListener(MouseEvent.MOUSE_DOWN, startdrag);
r1.addEventListener(MouseEvent.MOUSE_UP, stopdrag);
function startdrag(e:MouseEvent)
{
e.currentTarget.startDrag();
stage.addEventListener(MouseEvent.MOUSE_MOVE, moveSprite);
}
function stopdrag(e:MouseEvent)
{
e.currentTarget.stopDrag();
stage.removeEventListener(MouseEvent.MOUSE_MOVE, moveSprite);
}
function moveSprite(e:MouseEvent)
{
tweenX.continueTo(r1.x-(r1.x-b2.x)*.5, 5);
tweenY.continueTo(r1.y-(r1.y-b2.y)*1.4, .01);
}
function tweenChange(e:TweenEvent)
{
graphics.clear();
graphics.lineStyle(9);
graphics.moveTo(r1.x,r1.y);
graphics.curveTo(sprite.x, sprite.y,b2.x, b2.y );
}
var test:Boolean = false;
r1.addEventListener(MouseEvent.MOUSE_DOWN,attraprise);
r1.addEventListener(MouseEvent.MOUSE_UP,lacheprise);
function attraprise(evt:MouseEvent):void
{
evt.currentTarget.startDrag(false);
}
function lacheprise(evt:MouseEvent):void
{
evt.currentTarget.stopDrag();
}
De plus j'ai une autre question, comment changer la couleur de ce fil ou remplir l'intérieur d'une couleur et le contour d'une autre couleur.
Je vous remercie par avance pour votre aide.