![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 264
|
Вопрос именно в методике создания. Прочитав несколько обсуждений по этой теме на форуме пришел к выводу, что необходимо использовать класс EventDispatcher или AsBroadcaster.
Немного поэксперементировав сделал другой вариант, рабочий, но упомянутые выше классы не понадобились. Изначально мне было нужно, чтобы у класса было событие, которое срабатывало бы по окончании некоторого действия, начатого классом( двухступенчатая загрузка). Вот, что получилось: //класс
//
class Test {
public function Test() {
}
//
public function preLoad():Void {
/*
здесь выполняются некоторые действия время окончания которых неизвестно затем вызывается метод onLoad
*/
onLoad();
}
//
//пустой метод
public function onLoad():Void {
}
}
Я подозреваю, что метод этот не соответствует правильному стилю программирования в AS2. Не могли бы вы прокомментировать его (какие недостатики, "подводные камни")? |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 256
|
1) Добавить можно только 1 обработчик.
2) Такой способ не может отразить состояние события. //Вру. Можно ![]() Последний раз редактировалось lowka; 02.08.2007 в 22:44. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А почему у вас имя функции похоже на имя класса?
Подход неверный, в общем-то. Вы жестко связываете класс и метод. EventDispatcher и AsBroadcaster созданы для того чтобы связь между классами была нежесткой. |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 264
|
Цитата:
|
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
В классе:
а потом переопределяйте. А вообще лучше геттер-сеттер организовать. |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 264
|
Это лучше? Чем?
Цитата:
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
Я говорю про функцию «Do». Ничего не надо переопределять, никаких геттеров/сеттров и прочей фигни. В AS1 было приняты конструкции myObj.onRelease = function() …, в AS2 их лучше заменить на EventDispatcher. |
|
|||||
|
Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
|
использовать EventDispatcher
|
|
|||||
|
Регистрация: Feb 2007
Сообщений: 264
|
Цитата:
![]() Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 23:12. |
|
|
« Предыдущая тема | Следующая тема » |
|
|