Adobe Flash image data

时间:2015-12-10 01:35:19

标签: actionscript-3 flash adobe

I have never worked in AS3. I want to send a screen shot of flash movie to a php file. Somewhere from internet I copied this function :

function sendSprite(sprite: Sprite, scriptLocation: String): void {
        var bmpData: BitmapData = new BitmapData(sprite.width, sprite.height, true, 0xFFFFFF);
        bmpData.draw(sprite);

        var encodedFile: Base64Encoder = new Base64Encoder();
        encodedFile.encodeBytes(PNGEncoder.encode(bmpData));

        var data: URLVariables = new URLVariables();
        data.fileData = encodedFile;

        var request: URLRequest = new URLRequest(scriptLocation);
        request.method = URLRequestMethod.POST;
        request.data = data;

        var loader: URLLoader = new URLLoader();
        loader.addEventListener(Event.COMPLETE, spriteSend);
        loader.addEventListener(Event.OPEN, traceEvent);
        loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, traceEvent);
        loader.addEventListener(IOErrorEvent.IO_ERROR, traceEvent);
        loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, traceEvent);
        loader.addEventListener(ProgressEvent.PROGRESS, traceEvent);

        try {
            loader.load(request);
        } catch (e: * ) {
            trace("an error occured of type", e);
        }

        function traceEvent(e: * ): void {
            trace(e);
        }

        function spriteSend(e: Event): void {
            trace(e, "\n sprite succesfully send \n");
        }

}

However I am not sure how to create a sprite object for calling the above function. Please help.

1 个答案:

答案 0 :(得分:1)

您可以使用Sprite类创建Sprite对象:

//---Create a Sprite
var mySprite:Sprite = new Sprite();

//---Add Sprite to Display List
addChild(mySprite);

在此Sprite内,您可以添加任何DisplayObject,例如:

//---Create the Video Object
var myVideo:Video = new Video();
mySprite.addChild(myVideo);

//---Create the NetConnection
var nc:NetConnection = new NetConnection();
nc.connect(null);

//---Create NetStream
var ns:NetStream = new NetStream(nc);

myVideo.attachNetStream(ns);

//---Play the video
ns.play("example.com/video.mp4");

接下来,您可以将Sprite对象发送到您的函数并执行您的操作。