var listePoint:Array = new Array();
var conteneurTrait:Shape = new Shape();
var couleurTrait_R:uint = 0xFF;
var couleurTrait_V:uint = 0x00;
var couleurTrait_B:uint = 0x00;
var nombreMaxPoints:int = 40;
addChild(conteneurTrait);
this.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
function enterFrameHandler(e:Event):void
{
var pointSurvol:Point = new Point(conteneurTrait.mouseX, conteneurTrait.mouseY); // Coordonnée en cours de survol
listePoint.push(pointSurvol); // On l'ajoute en fin de notre tableau
// On supprime les plus vieilles coordonnées :
while (listePoint.length > nombreMaxPoints)
{
listePoint.shift();
}
drawPath();
}
function drawPath():void
{
// On efface le trait actuel :
conteneurTrait.graphics.clear();
//conteneurTrait.graphics.lineStyle(3); // On déclare le style du trait
conteneurTrait.graphics.moveTo(listePoint[0].x, listePoint[0].y); // On défini le point de départ (1er de la liste)
// Pour chaque point (à partir du 2eme), on dessine le tronçon de trait
for (var i:int = 1; i < listePoint.length; i++)
{
var parcour:Number = i / listePoint.length;
var r:String = '00'+(0xFF - (0xFF - couleurTrait_R) * parcour).toString(16);
var v:String = '00'+(0xFF - (0xFF - couleurTrait_V) * parcour).toString(16);
var b:String = '00'+(0xFF - (0xFF - couleurTrait_B) * parcour).toString(16);
var couleur:uint = uint("0x"+r.substr(-2)+v.substr(-2)+b.substr(-2));
conteneurTrait.graphics.lineStyle(3,couleur);
conteneurTrait.graphics.lineTo(listePoint[i].x, listePoint[i].y);
}
conteneurTrait.graphics.endFill();
}