Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Использование actionscript в .swf. (http://www.flasher.ru/forum/showthread.php?t=187816)

asm 24.11.2012 17:57

Использование actionscript в .swf.
 
Всем привет. Задача следующая. Есть .swf-файл, есть кусок кода на actionscript. Нужно получить
.swf-файл с каким-то образом прикрепленным к нему кодом так чтобы последний исполнялся при открытии
.swf-файла флешем. Приветствуется любая инфа по теме, желательно совсем для нубов во флеше т.к.
я не являюсь программистом на на этом языке.

silin 24.11.2012 19:00

для внедрения 'левого' кода в swf (по сути это уже скомпилированная программа) в AS3 нет штатных средств
возможно что-то и можно выполнить с помощью каких-то хаков и фокусов, но сомневаюсь, что это где-то обсуждалось, тем более на 'нубском' уровне

wvxvw 24.11.2012 20:25

ActionScript компилируется в байткод в формате ABC. SWF файл состоит из тегов, тег DoAbc содержит скомпилированный код. В принципе, если у вас есть самодостаточный ABC файл, то вы можете просто вставить еще один тег и подправить заголовки, так, чтобы заявленная длина файла совпадала с реальной. Но это только поместит ваш код в SWF, и никаким образом его не выполнит. Чтобы ваш код выполнился, нужно чтобы уже существующий в SWF код каким-то образом его вызвал. Если флешка ваша, то, это можно сделать, например, через "отражение", т.е. вызвать метод используя механизмы интроспекции заложенные в плеер передав имя метода как строку.
Если эта задумка для генерации флешек в общем случае, то задумка не ахти какая, т.как ABC проходит определенную оптимизацию при компиляции, например, формируются общие для всех фрагментов таблицы символов (что помогает уменьшить размер файла). Если это какая-то одноразовая вещь, то, вполне можно и поступить и так, как описано выше.
Естесственно, если вы пытаетесь использовать этот механизм для контроля, или изменения кода, от которого у вас нет исходников - тогда вам в этом помoгать никто не будет.

caseyryan 25.11.2012 10:17

wvxvw, ответ конечно крут, но
Цитата:

Приветствуется любая инфа по теме, желательно совсем для нубов во флеше т.к.
:D
Я уже 4 года пишу на ас3, давно не нуб, но вряд ли с этим быстро бы разобрался. Скорее просто забил бы на эту идею после нескольких попыток.


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

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