Flash的动画,GIF库

时间:2014-08-28 14:49:50

标签: actionscript-3 bytearray animated-gif

我正在尝试使用Flash-Animated-GIF-Library。它用于加载GIF动画。它使用fileReference类,你必须浏览你的文件夹,选择一个GIF动画,然后它会在舞台上显示它。我需要动画gif来显示没有浏览部分。是否可以使用该类直接加载动画GIF,就像加载和使用Loader类显示图像一样?如果是这样 - 怎么样?

1 个答案:

答案 0 :(得分:2)

是的,你有两个选择。

  1. 使用LoaderURLLoader课程。 Example1Example 2 (get bytearray)
  2. 嵌入图片并获取ByteArrayAssetExample
  3. option1(Loader)的最小代码:

    protected function handleCreationComplete(event:FlexEvent):void
    {
        var loader:Loader = new Loader();        
        loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderComplete);
        loader.load(new URLRequest("yourgif.gif"));
    }
    
    private function loaderComplete(event:Event):void
    {
        var loaderInfo:LoaderInfo = LoaderInfo(event.target);
        var byteArray:ByteArray = loaderInfo.bytes;        
        player.loadBytes(byteArray);
    }
    

    option1(URLLoader)的最小代码:

    protected function handleCreationComplete(event:FlexEvent):void
    {
        var loader:URLLoader = new URLLoader();
        loader.dataFormat = URLLoaderDataFormat.BINARY;
        loader.addEventListener(Event.COMPLETE, loaderComplete);
        loader.load(new URLRequest("yourgif.gif"))
    }
    
    private function loaderComplete(event:Event):void
    {
        player.loadBytes(event.target.data);
    }
    

    对于option2:

    [Embed(source="yourgif.gif",mimeType="application/octet-stream")]
    public var YourGif:Class;
    
    protected function handleCreationComplete(event:FlexEvent):void
    {
        var byteArrayAsset:ByteArrayAsset = new YourGif();
        player.loadBytes(byteArrayAsset);
    
        // should work, too
        //player.loadBytes(new YourGif() as ByteArray);
    }