1. ActionScript / Говнокод #12048

    −116

    1. 1
    ExternalInterface.call('setTimeout', exec, 60, 'reattachWeapon');

    Пришлось такую конструкцию использовать... Функция вызывает функцию, которая вызывает функцию.
    Объясню, есть библиотека для AS3 Deval, выполняющая ту же функцию, что и JS'овский eval, только в AS.
    Но в этой библиотеке есть свои минусы и из-за некоторых ограничений setTimeout там можно использовать только для заранее написанных функций.
    В общем пришлось JS'овский setTimeout использовать, который через время определенное вызовет JS функцию, а JS функция вызовет функцию из списка функций текстовых.

    Запостил: swing1991, 02 Ноября 2012

    Комментарии (7) RSS

    • Какая грустная история... а зачем такое могло кому-нибудь понадобится?
      Ответить
    • > Функция вызывает функцию, которая вызывает функцию.

      А это плохо?
      Ответить
      • Нет, это, в принципе, нормально. Просто непривычная конструкция) Пересечение разных языков)
        Ответить
    • > из-за некоторых ограничений setTimeout там можно использовать только для заранее написанных функций
      http://pastie.org/5469936
      Ответить
      • А лямбдочку не получится подсунуть?
        Ответить
        • э... если имеется ввиду нечто вроде public function predefined (any:Function):void { any(); } то пришлось бы писать setTimeout (obj.predefined, 123, someFunc); что противоречит тому, что someFunc нельзя передать параметром в setTimeout.
          Ответить
    • Ты имеешь ввиду заранее вшить в флешку функцию?
      Так не интересно и не удобно.
      Ответить

    Добавить комментарий