При выполнении кода:
var cont:Sprite = new Sprite();
var a:Vector.<int > = Vector.<int > ([1,2]);
var b:Vector.<Number > = Vector.<Number > ([0,0,40,40]);
cont.graphics.lineStyle(5, 0x442299);
cont.graphics.drawPath(a, b);
addChild( cont );
cont.x = 100;
cont.y = 100;
trace("X coordinate of purple line: ", cont.x);
Я получаю вывод "Координата X фиолетовой линии: 100"
Однако, когда я тестирую этот код и рисую линию от (100, 100) до (140, 140) с помощью мыши:
var line:Sprite = new Sprite();
stage.addEventListener(MouseEvent.MOUSE_DOWN,mouseDownHandler);
stage.addEventListener(MouseEvent.MOUSE_UP,mouseUpHandler);
var startX:int = -1;
var startY:int = -1;
function mouseDownHandler(event:MouseEvent):void
{
startX = mouseX;
startY = mouseY;
}
function mouseUpHandler(event:MouseEvent):void
{
swype(Vector.<int> ([1,2]), Vector.<Number> ([startX,startY,mouseX,mouseY]));
}
function swype(commands:Vector.<int>, coords:Vector.<Number>):void
{
var container:Sprite = new Sprite();
container.graphics.lineStyle(5, 0x0066CC);
container.graphics.drawPath(commands, coords);
addChild( container );
container.x = 100;
container.y = 100;
trace("X coordinate of blue line: ", container.x);
}
Я получаю вывод: "X координата синей линии: 0"
Почему, когда я получаю координаты от позиции мыши на экране и добавляю их к вектору, координаты x и y контейнера Sprite по умолчанию равны 0,0?