AS3GIF让flash可以播放GIF动画文件,以及用ActionScript 3实现GIF编码的功能.
介绍 as3gif下载地址(Google Code)
收藏与此,查询方便。
播放功能:
用AS3GIF的类文件,可以通过load一个URLRequest或者load一个ByteArray来加载gif。
范例:
package { importflash.display.Sprite; importflash.net.URLRequest; importorg.gif.player.GIFPlayer; publicclassMainextendsSprite { publicfunctionMain():void { varrequest:URLRequest=newURLRequest("diego.gif"); varplayer:GIFPlayer=newGIFPlayer(); player.load(request); addChild(player); } } }
编码功能:
范例:
package { importflash.display.BitmapData; importflash.display.Shape; importflash.display.Sprite; importflash.utils.ByteArray; importorg.gif.encoder.GIFEncoder; importorg.gif.player.GIFPlayer; publicclassMainextendsSprite { publicfunctionMain():void { varframes:Array=createFrames(); varencoder:GIFEncoder=newGIFEncoder(); encoder.setRepeat(0); //AUTO LOOP encoder.setDelay(500); encoder.start(); //MUST HAVE! encoder.addFrame(frames[0]); encoder.addFrame(frames[1]); encoder.finish(); //MUST HAVE! playGIF(encoder.stream); } privatefunctionplayGIF(data:ByteArray):void { data.position=0; varplayer:GIFPlayer=newGIFPlayer(); player.loadBytes(data); addChild(player); } privatefunctioncreateFrames():Array { varshape:Shape=newShape(); shape.graphics.lineStyle(1,0); shape.graphics.moveTo(60,0); shape.graphics.lineTo(60,120); varframe1:BitmapData=newBitmapData(120,120); frame1.draw(shape); shape.graphics.clear(); shape.graphics.lineStyle(1,0); shape.graphics.moveTo(0,60); shape.graphics.lineTo(120,60); varframe2:BitmapData=newBitmapData(120,120); frame2.draw(shape); return[frame1,frame2]; } } }