|
|
|||||
Регистрация: Aug 2010
Адрес: Бороздю просторы AS3
Сообщений: 25
|
странности MouseEvent.CLICK
public function langMouseButton(namePanel:MovieClip, startPlay:String, endPlay:String, langName:String, IsContent:Boolean = true){ namePanel.buttonMode = true; namePanel.addEventListener(MouseEvent.ROLL_OVER, mouseOverButton); namePanel.addEventListener(MouseEvent.ROLL_OUT, mouseOutButton); namePanel.addEventListener(MouseEvent.CLICK, clicButton); function mouseOverButton(e:MouseEvent) { MovieClip(namePanel.parent).gotoAndPlay(startPlay); } function mouseOutButton(e:MouseEvent) { MovieClip(namePanel.parent).gotoAndPlay(endPlay); } function clicButton(e:MouseEvent){ trace("1"); updateScene(langName, IsContent); } } первый клик - выдает 1 второй клик - выдает 1 1 третий клик - выдает 1 1 1 --- в итоге за 3 клика имеем 1 1 1 1 1 1 как от этого избавится? |
|
|||||
очевидно, после каждого срабатывания clicButton вызывается langMouseButton и вешает очередной addEventListener(MouseEvent.CLICK, clicButton);
|
|
|||||
Регистрация: Aug 2010
Адрес: Бороздю просторы AS3
Сообщений: 25
|
видимо (
а как убить предыдущий листенер то? Я нюби в акшне и флеше - вот разбираюсь сижу с проэктом ( |
|
|||||
Что значит "видимо"? Либо да, либо нет. Правильнее просто не вызывать langMouseButton всякий раз при нажатии, либо вынести добавление слушателей в отдельную один раз вызывающуюся функцию, а вообще отписаться от слушателя - это
|
|
|||||
Регистрация: Aug 2010
Адрес: Бороздю просторы AS3
Сообщений: 25
|
langMouseButton висит постоянно - он прилеплен к кнопке выбора языка.
поставил namePanel.removeEventListener(MouseEvent.CLICK, clicButton); после функции апдейта контента - и нормик стало. Спасибо. |
|
|||||
Цитата:
public function langMouseButton(namePanel:MovieClip, startPlay:String, endPlay:String, langName:String, IsContent:Boolean = true) { namePanel.buttonMode = true; namePanel.addEventListener(MouseEvent.ROLL_OVER, mouseOverButton); namePanel.addEventListener(MouseEvent.ROLL_OUT, mouseOutButton); namePanel.addEventListener(MouseEvent.CLICK, clicButton); } private function mouseOverButton(e:MouseEvent) { MovieClip(namePanel.parent).gotoAndPlay(startPlay); } private function mouseOutButton(e:MouseEvent) { MovieClip(namePanel.parent).gotoAndPlay(endPlay); } private function clicButton(e:MouseEvent) { trace("1"); updateScene(langName, IsContent); } |
|
|||||
Регистрация: Dec 2006
Сообщений: 1,764
|
а я столкнулся с такой проблемой: есть функция которая мне показывает кнопку по visible = true, дальше я в самой флешке этой кнопкой вызываю другую функцию - выполняется определенное действие и отлично, потом эта кнопка прячется по visible = false - тоже все хорошо, но далее когда повторяю действие, второй раз событие не работает на эту кнопку, removeEventListener почему что не срабатывает, в чем может быть проблема?
|
Часовой пояс GMT +4, время: 16:07. |
|
« Предыдущая тема | Следующая тема » |
|
|