0

I need to collect and import a mass of images into Flash. The cleanest way to do this seems to be using AS3SWF to create a timeline with 1 image per frame.

Does anyone have a code sample for something like this? AS3SWF looks great, but it's not heavy on documentation.

4

1 回答 1

3

前段时间我玩过 AS3SWF,发现SWF 格式规范(pdf) 和文档非常有用。我仍然没有发现它特别容易,因为我没有适当的编程背景/组装经验。

解决您的问题可能有更简单的方法:SWFTools。它们是一堆开源实用程序,其中一些可能会帮助您完成任务,例如jpg2swfpng2swf

我目前在 OSX 上,所以已经下载了源代码并使用了典型的命令:

sudo ./configure
sudo make
sudo make install

我看到 Windows 已经有一个exe,所以它可能更简单。我仍然想你会从命令行调用实用程序。fl.runCommandLine()这在 JSFL 中使用未记录函数时会派上用场。这是基于我桌面上的所有 .png 文件编译 swf 'slideshow' 的基本调用:

./png2swf -o ~/Desktop/desk.swf ~/Desktop/*.png

每个实用程序都有很多选项,这里是一个示例:

jpeg2swf

Usage: ./jpeg2swf [-options [value]] imagefiles[.jpg]|[.jpeg] [...]

-o , --output <outputfile>     Explicitly specify output file. (otherwise, output.swf will be used)
-q , --quality <quality>       Set compression quality (1-100, 1=worst, 100=best)
-r , --rate <framerate>        Set movie framerate (frames per second)
-z , --zlib <zlib>             Enable Flash 6 (MX) Zlib Compression
-M , --mx                      Use Flash MX H.263 compression (use for correlated images)
-x , --xoffset <offset>        horizontally offset images by <offset>
-y , --yoffset <offset>        vertically offset images by <offset>
-X , --width <width>           Force movie width to <width> (default: autodetect)
-Y , --height <height>         Force movie height to <height> (default: autodetect)
-T , --flashversion <version>      Set flash file version to <version>
-v , --verbose <level>         Set verbose level to <level> (0=quiet, 1=default, 2=debug)
-V , --version                 Print version information and exit
-f , --fit-to-movie            Fit images to movie size
-e , --export <assetname>          Make importable as asset with <assetname>

此外,在Keith Peters 的这篇旧(2004 年)文章中可能值得一试。

于 2012-04-17T20:35:46.700 回答