Цитата:
Сообщение от GFreemen
Может чтобы случилось MOUSE_OUT сначала должно быть MOUSE_OVER
|
Для общего понимания: Событие MOUSE_OVER произойдет независимо от того, поставите вы слушатель на целевой объект (в данном случае -
ButOut) или нет.

Код AS3:
package
{
import flash.display.Sprite;
import flash.events.MouseEvent;
public dynamic class NewExample extends Sprite
{
private var s:Sprite = new Sprite;
function NewExample():void
{
s.graphics.beginFill(0x000000);
s.graphics.drawRect(0, 0, 200, 200);
s.x = 100;
//s.mouseEnabled = false; // Раскомментируйте, чтобы событие не возникало для 's'
this.addChild(s);
this.addEventListener(MouseEvent.MOUSE_OVER, mouseOverParent, true); // слушатель на "предка" (parent), чтобы отловить событие в Фазе Захвата, т.е. №1
}
private function mouseOverParent(e:MouseEvent):void
{
trace(e.type, '"Фаза №' + e.eventPhase + '"', e.target, e.currentTarget);
// выводит: mouseOver "Фаза №1" [object Sprite] [object NewExample]
}
}
}
Как видите,
s.addEventListener(MouseEvent.MOUSE_OVER, ...); нету. Но событие происходит пир наведении на черный квадрат (
s)