Как создать SWF-файл из файла actionscript? - PullRequest
5 голосов
/ 20 апреля 2011

Привет У меня есть файл Actionscript, который отображает кнопку. Я хочу удалить кнопку с моего дисплея. Поэтому мне нужно внести изменения в код ActionScript и создать новый SWF-файл после внесения изменений.

Может ли кто-нибудь любезно помочь мне относительно того, как сгенерировать SWF-файл из файла actioncript.

Заранее спасибо.

Ответы [ 3 ]

11 голосов
/ 23 апреля 2011

Я думаю, вы спрашиваете, что вы используете для компиляции as3 в файл .swf.

Является ли ваш исходный файл файлом .fla или .as? Имейте в виду, что .swf - это не исходный файл, это скомпилированный файл. Поэтому, если вы хотите изменить это на лету, вы можете использовать метод, предложенный anemgyenge выше.

В противном случае, если «на лету» не является вашим намерением, вам придется декомпилировать его - что на самом деле не приводит к качественному источнику, поскольку с декомпилированными символами может быть трудно работать.

Flash CS5 может компилироваться в формат .swf, а вашим основным исходным файлом являются файлы .fla и .as для файлов кода.

Flex SDK может компилировать AS3 в .swf, и вы можете использовать либо Flex Builder, либо Flash Develop в качестве IDE для редактирования своего кода as3.

FlashDevelop бесплатен, вы можете получить его здесь:

Страница загрузки FlashDevelop

Вам необходим Flex SDK для компиляции с FlashDevelop, поэтому вам нужно получить его здесь:

Flex SDK - вы можете использовать 3 или 4

Если вы хотите повозиться с этим, почему бы не попробовать wonderfl.net. Это немного небрежно с точки зрения макета сайта, но есть тонны кода, из которого можно извлечь уроки, и вам не нужно ничего устанавливать!

6 голосов
/ 20 апреля 2011

Если у вас все еще есть проблема и вам нужно быстрое решение, тогда вместо «изменения кода ActionScript и генерации нового SWF» вы можете попытаться обойти эту проблему.

Вставить SWF-файл с помощью кнопки в новый проект Flash: для этого используйте метатег Embed и внедрите файл как ByteArray, а затем загрузите его в объект Loader.

[Embed(source="filename-of-swf-with-button", mimeType="application/octet-stream")]
var class1:Class;

var ldr:Loader = new Loader();
ldr.loadBytes(new class1());

После этого вы можете получить доступ к содержимому "swf" по ldr.content. Итак, если вы знаете имя экземпляра, сделаете его невидимым или удалите его из списка отображения. Если вы не знаете имя, попробуйте найти его трудным путем:

for(var i:int = 0; i < ldr.content.numChildren; i++)
{
     trace(ldr.content.getChildAt(i).name);
}

и после поиска выберите экземпляр кнопки.

1 голос
/ 20 апреля 2011

Вы просите сгенерировать на лету (во время выполнения) или скомпилировать AS-файл в SWF-файл? Если вы просто хотите скомпилировать файл AS в SWF-файл, вы можете создать новый проект в различных средах разработки ActionScript (Flash Builder, Flex, FlashDevelop [my favourite]), включить этот файл в качестве файла основного приложения, скомпилировать это, и если все идет хорошо ... Presto - у вас есть SWF!

В каждой IDE есть несколько разных способов установить указанный файл "* .as" в качестве основного файла приложения. Вы должны убедиться, что он расширяет класс Sprite или MovieClip (или другой базовый класс, который уже делает это), чтобы у него была точка входа для присоединения к рабочей области.

...