54 lines
1.5 KiB
ActionScript
54 lines
1.5 KiB
ActionScript
package ckaction.player {
|
|
import flash.net.FileReference;
|
|
import org.bytearray.gif.player.GIFPlayer;
|
|
import org.bytearray.gif.events.GIFPlayerEvent;
|
|
import org.bytearray.gif.events.FrameEvent;
|
|
import flash.events.IOErrorEvent;
|
|
import flash.net.URLRequest;
|
|
import flash.display.MovieClip;
|
|
public class gifPlayer {
|
|
private var g: GIFPlayer = null;
|
|
private var file: String = "";
|
|
private var successFun: Function = null;
|
|
private var loadNumber:Boolean=true;
|
|
var m: MovieClip =null;
|
|
public function gifPlayer(url: String, success: Function) {
|
|
// constructor code
|
|
successFun = success;
|
|
file = url;
|
|
loader();
|
|
}
|
|
private function loader(): void {
|
|
g = new GIFPlayer();
|
|
g.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
|
|
g.addEventListener(GIFPlayerEvent.COMPLETE, completeHandler);
|
|
g.addEventListener(FrameEvent.FRAME_RENDERED, frameHandler);
|
|
g.load(new URLRequest(file));
|
|
}
|
|
private function ioErrorHandler(event: IOErrorEvent): void {
|
|
successFun(null);
|
|
}
|
|
private function completeHandler(event: GIFPlayerEvent): void {}
|
|
private function frameHandler(event: FrameEvent): void {
|
|
var w: Number = event.frame.bitmapData.width;
|
|
var h: Number = event.frame.bitmapData.height;
|
|
if (loadNumber) {
|
|
loadNumber = false;
|
|
m = new MovieClip();
|
|
m.addChild(g);
|
|
m.width = w;
|
|
m.height = h;
|
|
successFun(m)
|
|
}
|
|
|
|
}
|
|
public function changeWH(w:int,h:int):void{
|
|
g.width=w;
|
|
g.height=h;
|
|
}
|
|
public function underChild():void{
|
|
m.removeChild(g);
|
|
}
|
|
}
|
|
|
|
} |