0

はじめに - Flash CS5.5を使用して iOS ゲームに取り組んでいます。私のゲームでは、カメラ ロールを介して画像を読み込んでおり、その画像をゲームプレイで使用します。ユーザーがゲームを再起動したときに画像が読み込まれるようにします。

質問- カメラ ロール インターフェイスを開かずに、そのような画像に再度アクセスする方法はありますか。

flash.display.Loader クラスを使用できますか? 私がしなければならない、または設定する必要がある特別なことはありますか?それとも別の方法がありますか?

画像を選択したときに発行された MediaEvent から指定されたファイルを保存しようとしました。

しかし、ローダー オブジェクトで指定された URL を使用してもうまくいきません。このページの例をベースとして使用しています: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/CameraRoll.html .

4

1 に答える 1

0

はい、これは可能です。次のようなFileクラスを使用して、画像をアプリのドキュメントディレクトリに保存する必要があります:(これはAdobe JPGEncoderクラスを使用します)

f = File.documentsDirectory.resolvePath("logo.jpg"); 

stream = new FileStream();
stream.open(f, FileMode.WRITE);                                         

j = new JPGEncoder(80);
var bytes:ByteArray = j.encode(visualLogo.bitmapData);
stream.writeBytes(bytes,  0, bytes.length);
stream.writeBytes(bytes, 0, bytes.bytesAvailable);
stream.close();

//I read the file back in to test that it has been successfully written 
stream.openAsync(f, FileMode.READ); 
stream.addEventListener(Event.COMPLETE, bringBoardOn, false, 0, true);

次に、次のようなものを使用してロードし直します。

f = File.documentsDirectory.resolvePath ("logo.jpg");

if (f.exists == true) {

var _urlRequest:URLRequest = new URLRequest(f.url);
loader=new Loader;
loader.load(_urlRequest);
loader.addEventListener(IOErrorEvent.IO_ERROR, function(e:IOErrorEvent):void{ trace(e) });
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, ImageLoaded, false, 0, true);     
_urlRequest = null;

}
于 2012-06-01T07:22:50.480 に答える