Форум 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)
-   -   передача параметра функции, при нажатии на мувик (http://www.flasher.ru/forum/showthread.php?t=88689)

artcraft 29.11.2006 03:13

согласитесь, "неправильный" метод в итоге компактнее

artcraft 29.11.2006 03:46

Код:

function createDelegate (obj:Object, func:Function, arg:Array):Function {
        var f = function () {
                var target:Object = arguments.callee.target;
                var func:Function = arguments.callee.func;
                var arg:Array = arguments.callee.arg;
                return func.apply (target, arg);
        };
        f.target = obj;
        f.func = func;
        f.arg = arg;
        return f;
}
mc.onPress = createDelegate (this, func, arg);


var target:Object = this;
mc.onPress = function () {func.apply(target, arg);}

вспомогательная ссылка на this
вспомогатеьная функция
вызов прикрепляемой функции

miramax 29.11.2006 04:42

Эхх... жаль кое-чего в AS 3 нету

artcraft 29.11.2006 06:11

почему жаль?
нет там c этим гемора и хорошо - радоваться надо :~)

miramax 29.11.2006 06:59

Цитата:

Сообщение от artcraft
почему жаль?
нет там c этим гемора и хорошо - радоваться надо :~)

Ну всё-таки бывает нужно просмотреть стэк вызова. А то убрали свойство calle

etc 29.11.2006 12:22

artcraft, в Proxy нету ничего вспомогательного. Дело не в краткости кода.
Дело в инкапсуляции — ты написал одну строку и всё, не забивая себе голову лишними рассуждениями на тему области видимости и как её не потерять. Более того, это более правильно с точки зрения ООП — метод должен обрабатываться в конкретном экземпляре класса, а не обрабатываться где-то в его потомках.

Попробуй написать такую конструкцию в FDT — повергнешь его в шок.

Dorin123 29.11.2006 12:23

огромное всем спасибо :) проблема решена.


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

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