【问题标题】:Flash-Animated-GIF-LibraryFlash 动画 GIF 库
【发布时间】:2014-10-22 11:49:53
【问题描述】:

我正在尝试使用Flash-Animated-GIF-Library。它用于加载动画 gif。它使用 fileReference 类来完成,您必须在其中浏览文件夹,选择动画 gif,然后它将在舞台上显示。我需要在没有浏览部分的情况下显示动画 gif。无论如何都可以使用该类直接加载动画 gif,就像您使用 Loader 类加载和显示图像一样?如果是这样 - 如何?

【问题讨论】:

    标签: actionscript-3 bytearray animated-gif


    【解决方案1】:

    是的,您有 2 个选项。

    1. 使用LoaderURLLoader 类。 Example1, Example 2 (get bytearray)
    2. 嵌入图像并获取ByteArrayAssetExample

    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);
    }
    

    对于选项 2:

    [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);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-13
      • 1970-01-01
      • 1970-01-01
      • 2012-04-02
      • 1970-01-01
      相关资源
      最近更新 更多