2008-10-13 2 views
0

У меня есть Flash-проект, который я пытаюсь экспортировать как один SWF. Существует основной SWF-файл, который загружает около 6 других SWF-файлов, и как основной, так и дочерний SWF ссылаются на другие внешние активы (изображения, звуки и т. Д.). Я хотел бы упаковать все как один .swf-файл, поэтому мне не нужно выделять другие активы с помощью .swf.Actionscript - объединение активов AS2 в один SWF

Все кодирование выполняется на временной шкале, но активы не были импортированы в среду разработки Flash, и у меня нет времени на это прямо сейчас (ссылок на них слишком много). Я надеюсь, что есть только один вариант, который я пропускаю, что позволяет этот вид упакованного экспорта, но я не нашел ничего подобного.

У меня нет доступа к Flex или mxmlc (и поскольку AS основаны на временной шкале, они не обязательно мне помогут). Есть предположения?

Спасибо!

PS ... если нет никакого способа сделать то, что я говорю, я мог бы иметь дело с наличием всех активов в папке «активы» или что-то в этом роде, поэтому я просто буду ходить по основному. swf и папку с ресурсами. Проблема здесь в том, что все ссылки на активы предполагают, что они находятся в той же папке, что и файл main.swf, поэтому все предполагается локальным ... есть способ изменить область всех внешних ссылок во Flash (так, например, все локальные ссылки в коде фактически выполняются в/assets)?

+0

eww ... кодирование на шкале времени? сжечь его огнем! – davr 2008-10-13 16:45:27

ответ

-1

HI Джастин,

Похоже, вы должны смотреть в использовании общих библиотек. Проверьте:

http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14767

+0

не являются разделяемыми библиотеками внешних файлов из основного SWF? как в противоположность объединению всего в один SWF? – davr 2008-10-13 16:47:24

+0

Да, это так. Общие библиотеки здесь не помогли. – fenomas 2008-10-14 02:14:37

2

Вы могли быть в состоянии декомпилировать ваши СФБ в XML с SWFMILL/MTASC и использовать фантазии XSLT для сливают и перекомпилировать с SWFMILL/MTASC.

Если это не работает, и если вы используете MovieClip.loadMovie или MovieClipLoader.loadMovie вы можете перегрузить свои методы и перехватывать URL:

var realLoadMovie:Function = MovieClip.prototype.loadMovie; 

MovieClip.prototype.loadMovie = function(url:String, method:String) { 
    return realLoadMovie("assets/" + url, method); 
} 

var test:MovieClip = createEmptyMovieClip("testclip", getNextHighestDepth()); 
test.loadMovie("test.swf"); 

Вам нужно сделать некоторые дополнительные строки разбора если URL-адреса имеют префикс типа ресурса, например файл: //

0

Существует базовый параметр, который вы можете добавить, когда вы вставляете swf, как выравнивание, масштаб и т. д. Если база установлена, все относительные URL-адреса будут префикс любого пути, который вы определяете (ну, почти все, видео и объекты ссылок на файлы являются исключением здесь). Кроме этого, я бы пошел с решением nikaji.

Смежные вопросы