2011-02-07 10 views
1

잠재적으로 흥미로운 상황이 있습니다. 셰이프를 사용하여 동적 드로잉 도구를 개발 중이며 현재 데이터베이스의 개체 "상태"를 저장할 수 있어야합니다.AS3 : 데이터베이스에 MovieClips를 저장하는 방법

"도형"은 사용자 정의 도형과 함께 단순한 기하학적 모양이 될 것이므로 그저 기하학적 인 발자국 만 저장할 수는 없습니다. 여기

은 예를 들어 스크린 샷 (간단한 모양)이다 :

enter image description here

사용하는 동안 현재의 특성이 유지 될 필요가 있으므로, 이러한 형태는, 삭제 및 작은 형태로 분할 회전, 드래그 크기를 조정할 수 있습니다 .

아이디어가 있으십니까? 나는 출발점이 필요하다.

답변

0

한 가지 일반적인 방법은 드로잉 단계 세트를 저장 한 다음로드 한 후 다시 구문 분석하는 것입니다. 즉 기본적으로 드로잉 명령 목록을 저장합니다. 이것은 또한 너무 많은 추가 작업없이 도면을 푸는 데 도움이되며, 협업 도면 등을 만들 수 있습니다. 복잡하지 않은 장면을위한 좋은 접근 방식과 매우 낮은 메모리입니다.

실제로 중요하지는 않지만, Graphics 개체에 원시를 그릴 때 어쨌든 Flash가 어떻게 그리는 지 생각합니다.

+0

불행히도 너무 많은 세부 사항을 언급하지 않고는 반드시 가능하지는 않습니다.이러한 요소 중 일부는 미리 그려집니다. – jerebear

0

내가 어떤 응용 프로그램 특정 상황이있을거야 의심하지만, 이것이 내가 (내가 전에 비슷한 일을했던)를 접근 할 방법은 다음과 같습니다

  1. 하나 개의 스프라이트 나 무비 클립에 저장 가능한 모든 것들을 넣어 .
  2. 스냅 샷을 저장해야하는 경우이 컨테이너에있는 모든 하위 항목을 반복하고 x, y, scaleX, scaleY, alpha, rotation을 제외합니다. 이름을 저장하고 객체를 동적으로 인스턴스화 할 수 있도록 flash.utils.describeType이 반환하는 내용을 저장할 수도 있습니다.
  3. 이 모든 것을 연관 배열 (각 객체마다 하나씩)에 넣고, 직렬화하고 어딘가에 저장하십시오. 또한 XML 구조를 만들어 거기에 저장할 수도 있습니다.

당신은 당신이 기본적으로 뒤로 모든 일을,

가 재구성 등, 필터를 저장 변환해야 할 필요에 있습니다 따라. 스태킹 순서를 신중히 선택하면 동일한 방법으로 레이어를 구성 할 수 있습니다.

이것은 매우 간단하지만 시작에 불과합니다. 이 작업을 수행하는 경우 본질적으로 동일한 작업을 수행하는 데 더 많은 생각을 가졌지만 더 나은 개체 지향 접근 방식을 사용했습니다.

1

당신은 파일 시스템에 ByteArray 개체로 데이터를 쓰거나 읽을 수 있습니다. EncryptedLocalStore 클래스 (현재 데스크톱 배포 대상에만 해당)를 사용하여 데이터를 암호화 할 수 있으므로 AIR 응용 프로그램을 개발할 때 특히 유용합니다.

+0

그래서 더 자세히 살펴보면 ByteArray 유틸리티 클래스를 찾을 수 없습니다. 도울 수 있니? – jerebear

+0

import flash.utils.ByteArray – TheDarkIn1978

+0

자세한 정보를 지금 찾을 수 있는지 확실하지 않습니다. 그렇지 않은 경우이 링크가 도움이됩니다. http://www.adobe.com/devnet/air/ajax/articles/encrypted_local_store.html – TheDarkIn1978

관련 문제