Я создал простую панель с заголовком, и я пытаюсь разделить строку заголовка между MouseEvent.MOUSE_DOWN, MouseEvent.MOUSE_CLICK и MouseEvent.DOUBLE_CLICK. oh мышь вниз, панель перетаскивается, при щелчке мыши панель обрушивается и расширяется, а при двойном щелчке мыши панель скрыта.ActionScript - Показать объект с несколькими событиями мыши?
Я изо всех сил стараюсь, чтобы все они работали с одним и тем же заголовком панели управления. mouse down активирует щелчок мышью, и т. д. возможно ли, чтобы эти события мыши были различимы на одном и том же объекте?
я забыл упомянуть, что я буду программировать приложения AIR, так что пока я считаю, что решение Patricks Это ниже будет работать для обычного файла .swf или тот, который имеет пользовательский перетаскивание функции, я не очень имеют доступ к функции startMove() nativeWindow. однако мне удалось передать объект titleBar панели между событиями MOUSE_DOWN и MOUSE_CLICK путем опроса для позиции nativeWindow.
private function titleBarMouseDownEventHandler(evt:MouseEvent):void
{
windowCoords = new Point(stage.nativeWindow.x, stage.nativeWindow.y);
stage.nativeWindow.startMove();
}
private function titleBarClickEventHandler(evt:MouseEvent):void
{
if (stage.nativeWindow.x != windowCoords.x && stage.nativeWindow.y != windowCoords.y)
return;
//expand & collapse code
}
уверен, я могу отправить их всем своим функциям слушателя или проверить, какой тип события активирован, но проблема в том, что один отправляет другой. например: i мышь на панели, чтобы перетащить его в новое место, но когда я отпустил мышь, панель будет расширяться/сжиматься, так как действие expand/collapse выполняется при щелчке мышью. Я попытался удалить прослушиватель событий клика для mousedown и повторно добавить его в mouseup, но результатом этого является то, что событие click никогда не произойдет. – TheDarkIn1978
, возможно, вам придется установить какую-то форму приоритета, скажем, что вы используете оператор switch, используя event.type, первый оператор будет иметь приоритет – PatrickS
, единственное, что я могу придумать, это использовать таймеры, но это будет супер гетто. – TheDarkIn1978