Может ли любой Flash-компилятор поместить сценарии в несколько кадров?
Может ли какой-либо компилятор Flash поместить конкретные сценарии в определенные кадры SWF-фильма?
Как вы можете сделать из Flash IDE, просто поместите сценарий в нужный кадр с помощью панели " Таймлайн", и сценарий будет скомпилирован в этот кадр SWF-файла Flash-фильма.
Например. сценарий на кадре 1:
trace("Reached frame 1");
Например. сценарий на кадре 2:
trace("Reached frame 2");
SWF-компиляторы: (с надеждой)
6 ответов
Это возможно с MXMLC, хотя это не очень хорошо задокументировано.
Google Search for Flex Frame Metadata покажет вам код. Немного проб и ошибок, и вы сможете получить что-то работающее. (Это то, как работает Flex Preloader)
И MTASC, и Haxe позволяют вводить код в определенный фрейм существующего SWF-файла. Обычный процесс заключается в создании библиотеки SWF с использованием SWFMill, которая содержит все ваши активы. После этого вы вставляете свой код одним из компиляторов в этот SWF, в результате чего получается новый SWF.
После внедрения кода в кадр 1 попробуйте также ввести код в кадр 2 в качестве следующего шага. Теоретически это должно работать. Я сам не пробовал, так что вы можете поэкспериментировать с этим.
Насколько я знаю, ни один из упомянутых вами компиляторов не управляет выполнением на основе временной шкалы. Но SWFMILL может помочь здесь. Я советую вам скомпилировать ваши собственные двоичные файлы, потому что предварительно скомпилированные двоичные файлы довольно устарели и не содержат важных исправлений.
Существует небольшой хакский инструмент для написания неко, который позволяет вам создавать многокадровые swfs: http://gamehaxe.com/2009/02/04/haxe-preloader-for-flash-written-in-haxe/
Может быть, вы также можете взглянуть на недокументированную функцию
addFrameScript(frameNumber,function,frameNumber,function...)
Что касается использования ASC с открытым исходным кодом в FLEX SDK, вы можете использовать его для компиляции, а затем конвертировать полученный abc в тег DoAbc и поместить в нужный кадр с любой библиотекой, которая обрабатывает формат файла swf.