Я хотел бы использовать FileReference.save() в 4 разных местах в флеш-игре. Все 4 метода одинаковы (копия &). Локально все 4 отлично работают, когда я помещаю swf в браузер, на самом деле, только один из них работает так, как ожидалось, а другие нет. В Chrome все 3 никогда не работали. В Safari они работают иногда, но недетерминированно. В чем причина? Есть идеи?FileReference.save() не работает стабильно в браузере as3
Кстати, я скомпилирован с Air 2.5 и Air 3.2 Desktop, я использую флэш 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");
}
Не могли бы вы дать более подробное описание, чем «не работать»? Есть ли какая-то ошибка, она рушится, нет диалогового окна и т. Д.? – puggsoy
добавить прослушивателей ошибок в tempFileReference – 2013-04-20 15:32:18
@puggsoy: Спасибо за ваш ответ. Он не падает, но ничего не происходит, когда я нажимаю кнопку, как вы сказали, диалоговое окно не появляется. –