Как проверить, находится ли мышь над экземпляром символа с помощью ActionScript 3 во Flash - PullRequest
4 голосов
/ 28 сентября 2010

Как проверить, находится ли мышь над экземпляром символа с помощью ActionScript 3 / Flash CS5?

Ответы [ 3 ]

6 голосов
/ 28 сентября 2010

Проверьте метод getObjectsUnderPoint , если вы хотите получить список всех объектов, которые являются дочерними элементами контейнера экранных объектов.

В противном случае вы можете использовать hitTestPoint и передать точку с помощью координат mouseX и mouseY.

1 голос
/ 30 сентября 2010

Хуан Пабло прав, но я обнаружил, что hitTestPoint может быть привередливым, если его применять неправильно.В частности, третий аргумент (shapeFlag Boolean) должен иметь значение TRUE (по умолчанию FALSE), а использование event.stageX / Y для событий мыши часто работает, когда mouseX / Y не работает.

Не могу точно объяснить, почему, нопо моему опыту следующее доказательство довольно глупо:

if (hitTestPoint(event.stageX, event.stageY, true))
   // Do something
0 голосов
/ 28 сентября 2010

Почему бы не использовать MouseEvent?

symbol.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);

function onMouseOver(evt:MouseEvent):void
{
    //is called when mouse is over your symbol.
}
...