Причина, по которой он не работает, заключается в том, что верхний объект DisplayObject (который перетаскивается, крадет события для себя).
У вас есть несколько опций, 1-й добавляет вместо этого событие MOUSE_MOVE к перетаскиваемому объекту.определенной точки, и вы можете сделать hitTestObject () , чтобы проверить, перекрываются ли они, или hitTestPoint () , если мышь находится внутри определенной точки.
Так что в основном сделайте это:
draggedObject.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
function onMouseMove(evt : MouseEvent) : void {
var particularSpot : MovieClip = MovieClip(evt.currentTarget.parent).getChildByName("particular spot object name");
if(particularSpot.hitTestPoint(evt.mouseX, evt.mouseY)) // or use hitTestObject
{
// The mouse is on top of particular object
}
else
{
// The mouse is not on top of particular object
}
}
Второй - отключить события мыши для перетаскиваемого объекта со свойствами mouseChildren
и mouseEnabled
, но это нарушит текущее перетаскивание, вам придется переставитьсобытия для родительского объекта или сцены перетаскиваемого объекта.