안드로이드 용 AS3 AIR 응용 프로그램에서 사용자는 도형 및 그래픽 속성을 사용하여 일부 그리기를 개발할 수 있습니다. 사용자가 도면을 File.applicationStorageDirectory
에 저장 한 다음 그리기 속성을 그대로 유지 한 채 도면을 다시로드해야합니다.MovieClip Air 저장 /로드 안드로이드
이 서랍 대표 클래스 : 주요으로, 외부
public class Background extends Sprite {
public var shape:Shape;
public function Background(){
this.shape = new Shape();
shape.graphics.beginFill(0x000000);
shape.graphics.drawRect(0, 0, 400, 400);
shape.graphics.endFill();
this.addChild(shape);
}
}
을 : public var bg:Background;
그래서, 외부에서 일부 SWF를로드 할 때, 나는 저장할 수 있습니다/부하 다음 코드에서 봐 그것없이 아무 문제없이, 나는 ByteArrays를 로더 클래스에 가지고 있기 때문에.
하지만 런타임에 빌드 된 DisplayObject를 어떻게 저장할 수 있습니까? 이 같은 뭔가 : 나는의 writeObject() 메소드를 사용하여 시도
bg = new Background();
try{
bytes = new ByteArray();
file = File.applicationStorageDirectory.resolvePath("test/some.swf");
fileStream = new FileStream();
fileStream.open(file, FileMode.WRITE);
fileStream.writeBytes(bytes) // -----HERE, I DO NOT HAVE bg bytes,
fileStream.close();
} catch (e:IOError){
fileStream.close();
}
, 그것은 일반적으로 저장하지만 내가 그것을로드하려고하면 예외가 발생합니다 : 알 수없는 파일 형식을.
어떻게하면됩니까? bg 바이트를 추출하거나 저장하려면 어떻게해야합니까? 분명히, 나는 모든 속성을 손상시키지 않고 다시 검색하고 싶습니다.
중복 가능성을 [플래시 : 모양에서 데이터를 읽는 방법/그래픽 개체] (http://stackoverflow.com/questions/1836758/flash-how-to-read-data-from-shape-graphics-object) – null
사용자가 취한 동작을 저장하려고합니다. 그림을 저장하고 해석하지 마십시오. 따라서 사용자가 정사각형을 그릴 때 정보를 저장하십시오. 이 기능을 사용하면 내역이있는 앱을 열거 나 그리기 작업을 다시 만들 수 있습니다. – moot