Привет.
AS начал изучать недавно, хотя опыт в программировании имею около 10 лет и профессионально им занимаюсь.
Сейчас тренируюсь на простых задачках, и вот, наконец, наткнулся на проблему, которую не смог решить гуглением (хотя, скорее всего, не смог сформулировать запрос).
Делаю элементарный шутер на плоскости, типа стрелять в выскакивающих бандитов.
Итак, сначала делаю из мышки прицел:

Код AS1/AS2:
public function startGame() {
// ...
aim = new sAim(mouseX, mouseY);
stage.addChild(aim);
stage.addEventListener(MouseEvent.MOUSE_MOVE, moveAim);
// ...
}

Код AS1/AS2:
private function moveAim(e:MouseEvent) {
if (aim) {
stage.removeChild(aim);
aim = null;
}
aim = new sAim(mouseX, mouseY);
stage.addChild(aim);
}
Всё ок. Создаю бандита:

Код AS1/AS2:
private function createBandit() {
var bandit = new sBandit(fadetime);
addChild(bandit);
}
Все описанные выше методы - методы основного класса.
sAim и sBandit - оба класса extends MovieClip.
Далее получаю проблему: клик по бандиту не отлавливается. Подумав логически, я понял, что он не отлавливается потому, что реально клик происходит не по бандиту, а по прицелу. Проверил - так и есть, по прицелу клик отлавливается.
Да, можно отловить координаты мышки, и проверить, есть ли в этих координатах бандит, но это решение громоздкое и, мне кажется, должен быть намного более изящный способ решить эту задачу.
Посоветуйте, пожалуйста.