![]() |
Использование actionscript в .swf.
Всем привет. Задача следующая. Есть .swf-файл, есть кусок кода на actionscript. Нужно получить
.swf-файл с каким-то образом прикрепленным к нему кодом так чтобы последний исполнялся при открытии .swf-файла флешем. Приветствуется любая инфа по теме, желательно совсем для нубов во флеше т.к. я не являюсь программистом на на этом языке. |
для внедрения 'левого' кода в swf (по сути это уже скомпилированная программа) в AS3 нет штатных средств
возможно что-то и можно выполнить с помощью каких-то хаков и фокусов, но сомневаюсь, что это где-то обсуждалось, тем более на 'нубском' уровне |
ActionScript компилируется в байткод в формате ABC. SWF файл состоит из тегов, тег DoAbc содержит скомпилированный код. В принципе, если у вас есть самодостаточный ABC файл, то вы можете просто вставить еще один тег и подправить заголовки, так, чтобы заявленная длина файла совпадала с реальной. Но это только поместит ваш код в SWF, и никаким образом его не выполнит. Чтобы ваш код выполнился, нужно чтобы уже существующий в SWF код каким-то образом его вызвал. Если флешка ваша, то, это можно сделать, например, через "отражение", т.е. вызвать метод используя механизмы интроспекции заложенные в плеер передав имя метода как строку.
Если эта задумка для генерации флешек в общем случае, то задумка не ахти какая, т.как ABC проходит определенную оптимизацию при компиляции, например, формируются общие для всех фрагментов таблицы символов (что помогает уменьшить размер файла). Если это какая-то одноразовая вещь, то, вполне можно и поступить и так, как описано выше. Естесственно, если вы пытаетесь использовать этот механизм для контроля, или изменения кода, от которого у вас нет исходников - тогда вам в этом помoгать никто не будет. |
wvxvw, ответ конечно крут, но
Цитата:
Я уже 4 года пишу на ас3, давно не нуб, но вряд ли с этим быстро бы разобрался. Скорее просто забил бы на эту идею после нескольких попыток. |
| Часовой пояс GMT +4, время: 23:27. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.