2011-04-19 4 views
0

그림판 응용 프로그램을 개발할 때 AS3입니다. 제가 시도하고있는 것은 기본적으로 MS Paint를 모방하는 것입니다. 저는 초보자이며 내 머리 인 생각을 구현하는 데 몇 가지 문제가 있습니다.무비 클립의 비트 맵 복사본 만들기

필자는 버킷 도구, 스프레이 및 지우개를 구현하기 위해 연필, 선, 곡선 및 비트 맵과 같은 도구를 구현하기 위해 벡터 그래픽을 사용하고 있습니다. 그러나 나는 문제에 직면했다. 벡터를 통해 비트 맵을 그리는 것이 가능하지만 모든 도면이 같은 레이어에 있으면 비트 맵 위에 벡터를 그릴 수 없습니다.

그래서 내가 가지고있는 생각은 두 개의 층

  1. 벡터 드로잉이 완료 탑 레이어로 만드는 것입니다.
  2. MOUSE_UP의 각 벡터 드로잉 이후의 맨 아래 레이어 레이어에서 맨 위 레이어의 비트 맵 복사본이 만들어져 맨 아래 레이어에 유지됩니다. 상단 레이어를 완전히 투명하게 유지하여 하단 레이어가 항상 표시되도록합니다.
  3. 홍수 채우기 (버킷 도구), 스프레이 및 지우개와 같은 것들이 하단 레이어에 직접 적용됩니다.
  4. 각 벡터가 MOUSE_UP에 그려지면 맨 위 레이어는 지워지지만 맨 아래 레이어에서 다시 생성되고 맨 위 레이어가 완전히 투명하기 때문에 모든 것이 보입니다.

내 질문은 :

  1. 내 논리에 어떤 결함이 있습니다.
  2. 위에 무비 클립의 비트 맵 복사본을 만드는 방법. 나는 시도했지만 어쩌면 나는 바보 같아서 작동하지 않습니다.

MovieClips의 이름은 topLayer_mc 및 bottomLayer_mc입니다. 필요한 것은 연필, 라인의 모든 MOUSE_UP에 topLayer_mc의 비트 맵 사본을 작성하고 bottomLayer_mc에 추가하는 기능을 갖는 것입니다.

일부 방법을 알려 줄 수 있습니까?

연필, 라인의 모든 MOUSE_UP에 topLayer_mc의 비트 맵 복사본을 만들고 bottomLayer_mc에 추가하는 것을 의미합니다. 함수가 처리합니다. 미리 감사드립니다.

답변

2
  1. 나는 전반적인 계획이 합리적이라고 생각합니다.
  2. BitmapData.draw()을보세요. 그것은 IBitmapDrawable을 그릴 수 있으며, 이는 MovieClip (DisplayObject을 통해)에 의해 구현됩니다.
관련 문제