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

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

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

Регистрация: Apr 2006
Сообщений: 184
Question Вопрос по dispatchEvent

Всем доброго дня, вот возник вопрос по dispatchEvent.

Задача такая чтобы из одного класса вызывать функцию в другом.
Попытаюсь поястнить.

Вот создал класс кнопки для своих проектов:

Код:
import mx.utils.Delegate;
import mx.utils.Proxy;
import mx.transitions.Tween;


class pf.EasyButton extends MovieClip {
	public var dispatchEvent:Function;
	private var bMovie:MovieClip;

	public function EasyButton(bMovie, evName) {

		bMovie.onRollOver = Proxy.create(this, this.buttonOver, [bMovie]);
		bMovie.onRollOut = Proxy.create(this, this.buttonOut, [bMovie]);
		bMovie.onRelease = Proxy.create(this, this.buttonRelease, [evName]);

	}
	private function buttonOver(param) {
		delete param[0].onEnterFrame;
		param[0].gotoAndPlay(2);
	}

	private function buttonOut(param) {
		param[0].onEnterFrame = function() {
			this.gotoAndStop(this._currentframe-1);
		};
		if (this._currentframe == 1) {
			delete param[0].onEnterFrame;
		}
	}


	private function buttonRelease(param) {

		dispatchEvent({type:param[0], target:this});

	}
}
В родительском классе код например такой:

Код:
closeHelpToolButton = new EasyButton(_root.mcCloseImage, "closeHelpTool");

closeHelpToolButton.addEventListener("closeHelpTool",Proxy.create(this, this.closeBigImage, []));
Задача такова чтобы при нажатии на кнопку срабатывала функция, в данном случае - closeHelpTool. Но она не отрабатывает, подскажите в чем проблема.

Заранее огромное спасибо.

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

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

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


 


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


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