0

フラッシュ ゲームの 4 つの異なる場所で FileReference.save() を使用したいと思います。4 つの方法はすべて同じです (コピー & ペースト)。ローカルでは、4 つすべてが完全に機能しますが、swf をブラウザー、Facebook に実際に配置すると、そのうちの 1 つだけが期待どおりに機能し、他のものは機能しません。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 に答える