Flash CS5: компиляция FLA с огромной внутренней библиотекой занимает ГОДЫ! - PullRequest
3 голосов
/ 24 февраля 2011

при использовании Flash CS5 с огромной внутренней библиотекой изображений (более 300+ небольших png-файлов) мне нужно более 90 секунд для каждого действия компиляции !код как хорошо, также мой компьютер (четырехъядерный процессор, 4 гигабайта оперативной памяти).я обнаружил, что при экспорте файлов на «стадию 1» (билд 1 на моем скриншоте) флеш начинает зависать, но я не знаю почему ...

.

как ускорить этот процесс?

__________________________________________________________________________________________________________________________________________

enter image description here

__________________________________________________________________________________________________________________________________________

мое решение не сработало:

, поэтому я поиграл и в итоге создал * .as-файлы для каждого отдельного растрового изображения, но результат скоростито же самое (может быть на 10% - 15% быстрее, чем раньше) ...

screenshot

package
{
    import flash.display.*;

    dynamic public class MY_BITMAP_NAME extends BitmapData
    {

        public function MY_BITMAP_NAME(width:int = 500, height:int = 135)
        {
            super(width, height);
            return;
        }

    }
}

я не могу работать достаточно быстро для отладки файлов моего проекта: - (

Ответы [ 3 ]

10 голосов
/ 24 февраля 2011

Решение состоит в том, чтобы переместить ваши активы в предварительно скомпилированную библиотеку SWC , которую вы будете перекомпилировать только при их изменении.

Создание библиотеки:

  • создайте новый FLA и переместите ваши растровые изображения,
  • каждое изображение должно иметь имя класса связи и быть экспортировано в первом кадре;вам не нужно создавать класс AS, Flash сгенерирует их,
  • в настройках публикации, вкладка «Flash», отметьте «Export SWC»,
  • эта библиотека SWC будет опубликованав том же месте, что и SWF;в CS4-5 нельзя предотвратить создание SWF-файла.

Использование библиотеки

  • в основных настройках публикации FLA, «Flash»на вкладке откройте диалоговое окно настроек Advanced Actionscript 3,
  • , на вкладке «Путь к библиотеке» вы можете добавить библиотеку ресурсов SWC;убедитесь, что «Тип ссылки» «Объединен в код»,
  • Содержимое SWC будет доступно в вашем основном FLA, как если бы оно было в библиотеке.

Стоит отметитьчто:

  • вы должны создать экземпляры этих активов с помощью кода (т. е. нового AssetName): они не будут отображаться на главной панели библиотеки FLA, и вы не сможете удалить их на временной шкале,
  • только ресурсы, которые вы явно указали в своем коде, будут доступны во время выполнения;если вы используете getDefinitionByName (), вы все равно должны импортировать ресурсы где-то в вашем коде.Например, вы можете объявить массив, содержащий все ваши классы активов (например: var assets: Array = [AssetClass1, AssetClass2, ...]).
3 голосов
/ 24 февраля 2011

, если эти 300+ изображений не меняются слишком часто, вы можете создать второй .fla, где вы помещаете только изображения в библиотеку. Затем вы публикуете этот .fla как файл swc (вы можете установить это в настройках публикации).

И вы используете этот SWC в своем исходном .fla (который теперь не имеет изображений), где у вас есть код (используя SWC означает, в настройках публикации -> Actionscript Settings, вы устанавливаете SWC в качестве ссылки на библиотеку ).

Таким образом, Flash нужно только скомпилировать ваш код и просто взять уже скомпилированные изображения из SWC. Затем он должен компилироваться гораздо быстрее.

0 голосов
/ 16 сентября 2012
ctrl+enter, that will compile all things in library and the AS code.
most situation that use just change little things, and then compile it.
it would waste much time that no need to waste.
you can export some thing that would not always be changed to SWC file, and to to publish setting,
add SWC file into your Fla. or move you Fla project to Flash build, compile use less time more than in flash ide.
...