Как я могу вручную отправить MouseEvent? - PullRequest
2 голосов
/ 11 ноября 2011

У меня есть меню, созданное с использованием собственного класса AS3, при щелчке по ссылке в этом меню запускается функция в соответствии с некоторыми переменными, переданными из внешнего XML-файла.

Меню состоит из четырех подразделов, и я хочу, чтобы пользователь мог перейти к родителю этого подраздела с помощью кнопки, которая полностью отделена от этого меню.

То, что я теоретически хотел бы сделать, это заставить родительскую кнопку думать, что она нажата, когда пользователь нажимает одну из кнопок в этом другом меню.

Имеет ли это какой-то смысл?Это вообще возможно?Я рву свои волосы, пытаясь придумать обходной путь, но я должен признать, что я относительно новичок в ООП и немного растерялся, когда дело доходит до передачи переменных, не говоря уже о передаче их между классами!

Ответы [ 2 ]

4 голосов
/ 11 ноября 2011
buttonToTarget.addEventListener(MouseEvent.CLICK, doThisFunction, false, 0, true);

buttonToTarget.dispatchEvent(new MouseEvent(MouseEvent.CLICK));

Это будет ложным щелчком мыши по кнопке, которую вы хотите действовать как нажатой.

2 голосов
/ 11 ноября 2011

Если вы хотите вызвать событие MouseEvent.MOUSE_DOWN для видеоклипа в меню, вы можете сделать это напрямую:

 path.to.parentButton.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN, true, false, localX,localY));

Вы можете опустить localX и localY, если получатель события никогда не проверяет его.

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