Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   вот такой onDoubleClick - Это хак? (http://www.flasher.ru/forum/showthread.php?t=95974)

Chas 20.05.2007 22:56

вот такой 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 в факе флешера нет. есть код создающий глобальное событие, но этот имхо удобней.

Kikasso 20.05.2007 23:05

ASSetPropFlags - последний аргумент цифра.

etc 20.05.2007 23:06

Ну вообще по-хорошему — хак.
Информацию по ASSetPropFlags можно найти на русскоязычных блогах.

iNils 21.05.2007 00:13

Цитата:

Сообщение от Chas
если я ее буду использовать в своих программах, не случится ли так, что со слеующим плеером/следующим дистрибутивом флеша код перестанет работать?

Не случится. ASSetPropFlags используется в самих классах Макромедии/Адоба.


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

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