Показать сообщение отдельно
Старый 20.05.2007, 22:56
Chas вне форума Посмотреть профиль Отправить личное сообщение для Chas Посетить домашнюю страницу Chas Найти все сообщения от Chas
  № 1  
Ответить с цитированием
Chas
 
Аватар для Chas

Регистрация: Sep 2002
Адрес: simferopol
Сообщений: 981
Отправить сообщение для Chas с помощью ICQ
По умолчанию вот такой onDoubleClick - Это хак?

нагуглил вот такой класный код:
Код:
MovieClip.prototype.addProperty("onDoubleClick",function() {
    return this.$onDoubleClick;
    },function(f) {
    this.__proto__ = DoubleClick.prototype;
    this.$onDoubleClick = f;
    ASSetPropFlags(this,["$onDoubleClick"],1,true);
});
DoubleClick = function() {};
DoubleClick.prototype = new MovieClip();
DoubleClick.prototype.onMouseDown = function() {
    if(this.hitTest(_root._xmouse,_root._ymouse,true)) {
        (this.t = getTimer()) < this.$a+250 ? this.$onDoubleClick() : this.$a = this.t;
    }
};
ASSetPropFlags(MovieClip.prototype,["onDoubleClick"],7,true);
ASSetPropFlags(this,["DoubleClick"],7,true);

some.onDoubleClick = function() {
    trace("double click")
};
вот мне объясните. функции ASSetPropFlags нет в хелпе вообще. это хак? недокументированная возможность? откуда о них вообще узнают? если я ее буду использовать в своих программах, не случится ли так, что со слеующим плеером/следующим дистрибутивом флеша код перестанет работать? я просто не очень разобрался в флеш-машине, и байт-коде флеша, чтобы понимать до какого кода он ассемблирует изначальный код.

Кста, такого модного double-click в факе флешера нет. есть код создающий глобальное событие, но этот имхо удобней.
__________________
~
Never trouble trouble till trouble troubles you!