Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.04.2010, 10:58
stub вне форума Посмотреть профиль Отправить личное сообщение для stub Найти все сообщения от stub
  № 1  
Ответить с цитированием
stub

Регистрация: Apr 2010
Сообщений: 6
По умолчанию как повесить слушателя из другого класса пакета

Привет всем!
Хочу повесить на клип слушателя

Код AS3:
MovieClip(BaseClient.err.parent).addEventListener(Event.ENTER_FRAME, BaseClient.checkToStop );
где BaseClient другой public сclass пакета.
Спасибо за внимания.

Старый 29.04.2010, 11:10
mickfallout вне форума Посмотреть профиль Отправить личное сообщение для mickfallout Найти все сообщения от mickfallout
  № 2  
Ответить с цитированием
mickfallout
 
Аватар для mickfallout

Регистрация: Jun 2009
Адрес: Москва
Сообщений: 170
если err - потомок мувиклипа в иерархии отображения , объявленный как public static var, а checkToStop - public static function способная принимать один аргумент типа Event то вроде должно сработать. хотя мне кажется Вы что-то не то хотите/делаете.
__________________
Могу ошибаться... =)

Старый 29.04.2010, 11:29
stub вне форума Посмотреть профиль Отправить личное сообщение для stub Найти все сообщения от stub
  № 3  
Ответить с цитированием
stub

Регистрация: Apr 2010
Сообщений: 6
да err потомок мувиклипа в иерархии отображения , объявленный как public static var а вот если checkToStop объявить как public static function то возникает куча ошибок в классе BaseClient потипа
Код:
1180: Call to a possibly undefined method removeEventListener.     removeEventListener(Event.ENTER_FRAME, checkToStop );

Старый 29.04.2010, 12:42
mickfallout вне форума Посмотреть профиль Отправить личное сообщение для mickfallout Найти все сообщения от mickfallout
  № 4  
Ответить с цитированием
mickfallout
 
Аватар для mickfallout

Регистрация: Jun 2009
Адрес: Москва
Сообщений: 170
Вы действительно хотите повесить листнер на переменную класса а не экземпляра? тогда поищите ошибку так:
Код AS3:
trace(BaseClient.err);
trace(BaseClient.err.parent);
trace(BaseClient.checkToStop);
MovieClip(BaseClient.err.parent).addEventListener(Event.ENTER_FRAME, BaseClient.checkToStop );
Но судя по тому что в функции checkToStop вы обращаетесь к методам экземпляра, вам надо делать что-то типа
Код AS3:
var mc:BaseClient=new BaseClient();
mc.addEventListener(Event.ENTER_FRAME, mc.checkToStop );
__________________
Могу ошибаться... =)

Старый 29.04.2010, 12:45
stub вне форума Посмотреть профиль Отправить личное сообщение для stub Найти все сообщения от stub
  № 5  
Ответить с цитированием
stub

Регистрация: Apr 2010
Сообщений: 6
проблему решил. Спасибо всем. Если интересно то извратился вот так
Код AS3:
MovieClip(BaseClient.err.parent).addEventListener(Event.ENTER_FRAME, MovieClip(BaseClient.err.parent).checkToStop );
Добавлено через 4 минуты
mickfallout я хотел повесить листнер на переменную класса
trace(BaseClient.checkToStop); не видит

Старый 29.04.2010, 12:56
mickfallout вне форума Посмотреть профиль Отправить личное сообщение для mickfallout Найти все сообщения от mickfallout
  № 6  
Ответить с цитированием
mickfallout
 
Аватар для mickfallout

Регистрация: Jun 2009
Адрес: Москва
Сообщений: 170
а можно не так сильно извращаться.
Код AS3:
var BaseClientErrParent:MovieClip = BaseClient.err.parent as MovieClip
BaseClientErrParent.addEventListener(Event.ENTER_FRAME, BaseClientErrParent.checkToStop )
и вообще, что-то я Ваш код не пойму. зачем приводить BaseClient.err.parent к динамическому классу не имеющему метода checkToStop? приводите к тому который имеет.
__________________
Могу ошибаться... =)

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:39.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:39.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.