0

我想在 Flash 游戏中的 4 个不同位置使用 FileReference.save()。所有 4 种方法都是相同的(复制和粘贴)。在本地,所有 4 个都可以正常工作,但是当我将 swf 放入浏览器时,实际上只有一个可以按预期工作,而其他的则不能。在 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");
    }
4

1 回答 1

0

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

于 2013-04-21T01:38:20.543 回答