1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
private function Fleche(x1:Number, y1:Number, x2:Number, y2:Number, effacer:Boolean, cancan:Graphics):void
{
var Norme:Number;
var cX:Number;
var cY:Number;
var Arrow:Array = new Array();
const ALength:Number = 10; //
const AWidth:Number = 7; //longueur et largeur de la pointe
Norme = Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
if (Norme == 0)
return;
cX = (x2 - x1) / Norme;
cY = (y2 - y1) / Norme;
Arrow[0] = new Point(x2 - cX * ALength + cY * AWidth, y2 - cY * ALength - cX * AWidth);
Arrow[1] = new Point(x2 - cX * ALength - cY * AWidth, y2 - cY * ALength + cX * AWidth);
Arrow[2] = new Point(x2, y2);
with (cancan)
{
if (effacer)
clear();
beginFill(0);
lineStyle(1, 0);
moveTo(x1, y1);
lineTo(x2, y2);
for (var i:uint = 0; i < Arrow.length; i++)
lineTo(Arrow[i].x, Arrow[i].y);
endFill();
}
} |
Partager