Получить объект под мышью - PullRequest
       11

Получить объект под мышью

2 голосов
/ 16 сентября 2009

Есть ли способ получить текущий объект (ы) под мышью? На AS3 есть функция getObjectsUnderPoint (), но мне нужно знать, предоставляет ли AS2 аналогичную функциональность. Если нет, у кого-нибудь есть хорошая реализация того, чего я пытаюсь достичь?

Переход на AS3 невозможен.

Спасибо!

Ответы [ 2 ]

3 голосов
/ 22 октября 2009

getObjectsUnderPoint возвращает массив объектов на объекте под заданной точкой.

Я написал это условие, чтобы проверить, находится ли мышь над каким-либо объектом на определенном слое.

if (mySprite.getObjectsUnderPoint(new Point(mouseX, mouseY)).length) 
{
    return;
}
else
{
    doSomething();
}

Вы также можете использовать stage.getObjectsUnderPoint для глобальной проверки.

Надеюсь, это поможет.

Переход на AS3 не возможен. Nevermind ...

2 голосов
/ 16 сентября 2009

Вы можете сделать это в автоматическом режиме с AS2, но он получает только самый верхний объект.

Это делается с помощью свойства _droptarget для мувиклипов. Что вы делаете, это создаете пустой мувиклип, запускаете на нем startDrag с установленным значением true для lockCenter arugment. Затем вы останавливаете и просматриваете это свойство _droptarget роликов.

Единственный другой способ сделать это - вручную зациклить клипы и использовать метод hitTest.

...