2014-01-04 3 views
0

Я хочу позвонить startDrag на некоторый UIComponent, а затем принять событие каждый раз, когда изменилась позиция перетаскиваемого компонента. Это возможно? Я пока не нашел возможности.Могу ли я отслеживать событие перетаскивания?

+1

Возможно, проверьте, что что-то перетаскивается в обработчик перемещения мыши. – dvdgsng

ответ

1

Я думаю, вы, возможно, захотите использовать MouseDown, MouseMove и MouseUp.

var myUIComponent 
var isDown:Boolean = false; 
var startX:Number = 0; 
var startY:Number = 0; 

myUIComponent.addEventListener(MouseEvent.MOUSE_DOWN, down); 

function down(e:MouseEvent){ 
    startX = e.stageX; 
    startY = e.stageY; 
    isDown = true; 
    stage.addEventListener(MouseEvent.MOUSE_MOVE,moving); 
    stage.addEventListener(MouseEvent.MOUSE_UP, up); 
} 

function moving(e:MouseEvent) 
{ 
    if (isDown){ 
     var distanceX = startX - e.stageX; 
     var distanceY = startY - e.stageY; 
     // Do something 
    } 
} 

function up(e:MouseEvent) 
{ 
    stage.removeEventListener(MouseEvent.MOUSE_MOVE,moving); 
    stage.removeEventListener(MouseEvent.MOUSE_UP, up); 
    isDown = false; 
} 
Смежные вопросы