我正在尝试使用Flash-Animated-GIF-Library。它用于加载GIF动画。它使用fileReference类,你必须浏览你的文件夹,选择一个GIF动画,然后它会在舞台上显示它。我需要动画gif来显示没有浏览部分。是否可以使用该类直接加载动画GIF,就像加载和使用Loader类显示图像一样?如果是这样 - 怎么样?
答案 0 :(得分:2)
是的,你有两个选择。
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);
}