AS3 - невозможно зафиксировать нажатие кнопки при использовании слушателя перемещения мыши - PullRequest
2 голосов
/ 19 марта 2012

В моем первом проекте AS3 (не используется Flash с AS1) мне нужно использовать пользовательский фрагмент ролика в качестве курсора и определять нажатие кнопки. Используя приведенный ниже код, пользовательский курсор работает должным образом, но я не могу зафиксировать нажатие на кнопку.

Если я закомментирую первую строку, трасса для нажатия будет работать как положено. Я попытался изменить порядок прослушивателей событий, применив последующее действие к кнопке, а не к сцене, но не смог заставить их работать вместе.

Любой совет относительно того, где я иду не так, будет оценен.

stage.addEventListener(MouseEvent.MOUSE_MOVE,follow);
start_button.addEventListener(MouseEvent.MOUSE_UP, playPhrase);

function playPhrase(event:MouseEvent) {
    trace("Click received");
};

function follow(event:MouseEvent) {
    cursor.x = mouseX;
    cursor.y = mouseY;
};

1 Ответ

0 голосов
/ 19 марта 2012

Похоже, это потому, что вы всегда нажимаете на объект курсора, так как он всегда располагается прямо под курсором мыши. Сделайте его «прозрачным» для щелчков мышью:

cursor.mouseEnabled = false;

А если это DisplayObjectContainer, то также:

cursor.mouseChildren = false;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...