PDA

Просмотр полной версии : Можно как то сконвертировать папки+файлы+swf в один swf?


Sociofilm
09.03.2012, 10:58
Есть игра game.swf, начитывающая ресурсы (графику, звуки, тексты) из внешних файлов, лежащих рядом с ней в сабдиректориях video, audio, text...

То есть если смотреть в Проводнике, то будет примерно такой вид:

video\*.flv
audio\*.mp3
text\*.txt
game.swf

Вопрос: можно как-то чем-то сконвертировать все это дело в одну большую SWF-ку? Чтобы ресурсы уже были в ней встроены и начитывались из неё самой (надеюсь доходчиво объяснил).
Нужно это для более удобного распространения в виде одной SWF вместо инсталлятора с кучей файлов.

Dub4ek
09.03.2012, 11:16
Можно хоть в swf, хоть в swc. Я подобное делал используя swc, все ресурсы эмбедил во флешку, а потом ее просто загружал в основную swf. Это все делалось не какими-то специальными софтинами, а простый Flash cs5.

Sociofilm
09.03.2012, 12:40
Тут дело вот в чем.
game.swf знает, что к примеру "video1.flv" лежит в подкаталоге "video\" и соответственно пытается брать его оттуда, как внешний файл. Если я покладу все это богатство внутрь SWF/SWC, то уже не смогу обеспечить данный путь. Нужно будет менять логику внутри game.swf чтобы игра знала, что ресурсы стали не внешними, а внутренними...

wvxvw
09.03.2012, 14:31
А какая версия ActionScript используется? Просто такие вещи как ByteArray, например, доступны только в 3, и их нет возможности эмулировать в 2.
Кроме того, загрузку из ресурсов все равно нужно будет переделывать. Она очень похожа на загрузку из внешних файлов, но не такая же. Поэтому, инструмента такого, который бы все автоматически сделал - нет, но с другой стороны, переделать не так уж и сложно.

iNils
09.03.2012, 15:46
Поэтому, инструмента такого, который бы все автоматически сделал - нет, но с другой стороны, переделать не так уж и сложно.JSFL?

wvxvw
09.03.2012, 20:14
Ну это:
1. Нужно чтобы был Flash CS.
2. Нужно много самому писать. Это не готовый интрумент, а инструмент, чтобы написать инструмент. Тем более, что тут еще и код прийдется редактировать...
Вобщем, зависит от наличия, желания и умения. Мне было бы проще на bash сделать.

iNils
10.03.2012, 12:18
Если это не Flash CS, то все просто. Файлы копируются в папку lib, и search & replace меняют путь в коде.
А на JSFL писать достаточно просто и быстро.

Sociofilm
10.03.2012, 14:20
используется as3.0, среда разработки Flash CS5.5

Добавлено через 2 минуты
видимо действительно придется переписывать логику...эх!

wvxvw
10.03.2012, 17:33
Как так путь меняется? нужно же будет, как минимум load() -> loadBytes() поменять. Ну и соответственно подставить код, который будет линковать ресурсы... Не то, чтобы очень сложно, но и не на столько тривиально.