FileReference.save()在浏览器as3上运行不稳定

时间:2013-04-20 09:58:59

标签: actionscript-3 browser air flash-cs6 filereference

我想在Flash游戏中的4个不同位置使用FileReference.save()。所有4种方法都相同(复制和粘贴)。在本地,所有4个工作都很完美但是当我把swf放在浏览器中时,facebook实际上只有其中一个按预期工作而其他人没有。在Chrome中,所有3个都没有用过。在Safari中,它们有时会工作但不确定。可能是什么原因?有什么想法吗?

顺便说一下,我使用Air 2.5和Air 3.2 Desktop编译,我使用的是Flash CS6

    private function onScreenShotButtonClicked(e:MouseEvent)
    {
        mScreenShotButton.removeEventListener(MouseEvent.CLICK, onScreenShotButtonClicked);

        var finalBitmapData:BitmapData = new BitmapData(810, 520, true, 0x00000000);
        var finalBitmap:Bitmap = new Bitmap(finalBitmapData, PixelSnapping.ALWAYS, false);
        finalBitmapData.draw(mParent.root);
        var finalData:ByteArray = new ByteArray();
        finalData = PNGSave.encode(finalBitmapData);

        var tempFileReference:FileReference = new FileReference();
        tempFileReference.addEventListener(Event.COMPLETE, onSaveCompleted);
        tempFileReference.addEventListener(Event.CANCEL, onSaveCancelled);
        tempFileReference.save(finalData, "boombox.png");
    }

1 个答案:

答案 0 :(得分:0)

常见问题是您的方法没有MouseEvent实例参数。可能是你调用Filereference.save()但你没有函数中的事件参数。