我終於嘗試將我的Flash遊戲移植到應用程序,從iOS開始。我被困在圖像保存功能上。在瑞士法郎的,我用jpegencoder保存到桌面服務器。似乎有一些研究表明,該代碼仍然可以在移動設備上工作,所以我嘗試了它,但是在從Adobe AIR進行iPhone測試時似乎沒有做任何事情(該按鈕註冊了一個點擊,但沒有可以成爲圖像的圖像)發現,沒有發生任何事情的通知,不要求訪問圖像的權限等)。這是舊代碼:使用Adobe AIR在iOS上保存位圖
saveToDisc.addEventListener(MouseEvent.CLICK, saveToDiscSave);
function saveToDiscSave(e:MouseEvent):void {
this.visible = false; //hides menu
var bitmapData:BitmapData = new BitmapData(1242,1864);
bitmapData.draw(MovieClip(root));
var jpgEncoder:JPGEncoder = new JPGEncoder(80);
var byteArray:ByteArray = jpgEncoder.encode(bitmapData);
var fileReference:FileReference=new FileReference();
fileReference.save(byteArray, "Dinogeddon-DollDivine.jpg");
//this.visible = true; //returns menu. commented out to see if click registered
}
所以有更多的研究,我發現這看起來簡單,像它專門了iOS版的CameraRoll代碼。所以我嘗試過,但我遇到了同樣的問題:沒有證據表明發生了任何事情。沒有保存圖像,沒有錯誤,沒有權限請求。
saveToDisc.addEventListener(MouseEvent.CLICK, saveToDiscSave);
function saveToDiscSave(e:MouseEvent):void {
this.visible = false;
var cameraRoll:CameraRoll = new CameraRoll();
var bitmapData:BitmapData = new BitmapData(1242,1864);
bitmapData.draw(MovieClip(root));
cameraRoll.addBitmapData(bitmapData);
//this.visible = true;
}
喜歡,我什至不知道我要去哪裏錯了..應用程序是否處於測試模式,甚至能夠保存圖像?我是否應該期待某種通知彈出?是否有保存到手機的東西的大小限制? HALP
你想在相機膠捲中的圖像?或者只是存儲在設備上的某個地方,以後可以再次檢索它? FileReference我不認爲適用於移動設備,您必須使用FileStream和File類保存到應用程序存儲目錄。你確定'CameraRoll.supportsAddBitmapData'是真的嗎? – BadFeelingAboutThis
此外,您應該聽取錯誤,因爲相機膠捲addBitmapData方法是異步操作。 'cameraRoll.addEventListener(ErrorEvent.ERROR,handleMyError);',你也可以監聽Event.COMPLETE事件。 – BadFeelingAboutThis
應用程序不需要圖像。這僅僅是爲了用戶自己的細讀。我不在乎它是否是專門的相機膠捲。我只是希望它在任何習慣這種事情的地方都能保存下來? –