2013-05-16 2 views
0

Как объявить прослушиватель событий общедоступным, чтобы он был доступен всем функциям?as3 объявление eventListener - переменная область

// Coded needed below to declare Event 

function addEventL() 
    { 
    /// Declares it in a function 
    myMovie.addEventListener(MouseEvent.CLICK, menuIn); 
    } 

function removeEventL() 
    { 
    /// This does not work because it was first called in a function. 
    /// So it can not find the event Listener to remove. 
    myMovie.removeEventListener(MouseEvent.CLICK, menuIn); 
    } 
+0

какова связь между этими тремя функциями (addEventL, removeEventL, menuIn). все ли они в одном и том же объеме? – BadFeelingAboutThis

+1

Ваш код, как показано (все в том же объеме), будет работать. – BadFeelingAboutThis

+0

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

ответ

0

Включите функцию гнездящихся слушателя событий в общественной функции:

package example 
{ 
public function addEventL() 
{ 
/// Declares it in a function 
myMovie.addEventListener(MouseEvent.CLICK, menuIn); 
} 
} 
+0

Это очень хорошо. К сожалению, я не использую класс, а жесткое кодирование в Flash Pro. В нем говорится, что публикация может использоваться только в пакетах. –

+0

Попробуйте добавить код в пакет. Я отредактировал ответ для вас. –

+0

Не уверен, что это сработает, потому что я должен поместить весь свой код в пакет. У меня есть несколько строк в нескольких ключевых кадрах. Я хочу максимизировать свой код. Только добавляйте прослушиватели событий, когда это необходимо, и удаляйте их, когда нет. Это пустая трата времени? У болельщиков больше болеют или добавляет дополнительный код, больно больший? –

Смежные вопросы