Показать сообщение отдельно
Старый 27.11.2017, 18:41
ZergMaster вне форума Посмотреть профиль Отправить личное сообщение для ZergMaster Найти все сообщения от ZergMaster
  № 23  
Ответить с цитированием
ZergMaster
 
Аватар для ZergMaster

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
Цитата:
Сообщение от Appleman Посмотреть сообщение
ZergMaster, а в чём преимущество такого метода - вешать слушатель на весь слой, перед навешиванием слушателей непосредственно на регистрируемые объекты?
в данном случае реализуется "баблинг" событий. Единожды добавляем на контейнер слушатели OVER и OUT, чтобы не создавать бесчисленное множество слушателей (ведь объектов с всплывающей подсказкой может быть очень много). Всякий раз, как событие срабатывает, проверяем, не идентичен ли target одному из объектов, которые мы зарегали в бабл-коллекции. Если да, то тут уже добавляем MOVE слушатель, чтобы двигать за мышкой подсказку. Когда же происходит OUT - слушатель удаляется. Таким образом, на все про все используется два постоянных и один временный слушатель (независимо от количества зарегестрированных на подсказку объектов).

Добавлено через 2 минуты
Цитата:
Сообщение от undefined Посмотреть сообщение
так, а зачем ее сначала в true выставлять,и тут же в false?
обычно делают так:
Код AS3:
private var _instance:MySingleton;
private function MySingleton() {
...
}
public static function getInstance():MySingleton {
    if (!_instance) _instance=new MySingleton();
    return _instance;
}
и никакие флаги не нужны
все потому, что, как я уже писал, мы не можем в as3 сделать приватным конструктор. То есть
Код AS3:
private function MySingleton() {
...
}
не получится.
Соответственно, флаг обеспечивает невозможность сделать где-нибудь в коде
Код AS3:
var mySingleton = new MySingleton()
__________________
while(live()) { hope(); }