2013-04-20 61 views
0

我想在Flash遊戲的4個不同位置使用FileReference.save()。所有4種方法都是相同的(複製&粘貼)。當然,當我把swf放在瀏覽器中時,所有4個工作都很完美,實際上,facebook中只有其中一個按預期工作,其他則沒有。在Chrome中,所有3個都沒有工作。在Safari中,他們有時候工作但不確定。可能是什麼原因?任何想法?FileReference.save()在瀏覽器as3上工作不穩定

順便說一句,我用AIR 2.5和3.2航編譯桌面,我使用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"); 
    } 
+0

你能給出比「不工作」更詳細的描述嗎?是否有某種錯誤,是否崩潰,沒有對話框等? – puggsoy 2013-04-20 11:24:59

+0

將錯誤偵聽器添加到tempFileReference – 2013-04-20 15:32:18

+0

@puggsoy:感謝您的回覆。它不會崩潰,但是當我點擊按鈕時沒有任何反應,就像你說的那樣,沒有彈出對話框。 – 2013-04-22 14:19:05

回答

0

常見的問題是,你的方法dont't具有的MouseEvent實例PARAM。可能是你調用Filereference.save(),但你沒有在函數中的事件參數。

+0

謝謝你的迴應。在「private function onScreenShotButtonClicked(e:MouseEvent)」方法中有一個MouseEvent實例參數。我該怎麼處理它? – 2013-04-22 14:26:37

相關問題