Создание растровой копии мувиклипа - PullRequest
0 голосов
/ 19 апреля 2011

Я разрабатываю приложение для рисования AS3.То, что я пытаюсь, это в основном подражать MS Paint.Я новичок, и у меня возникли проблемы с реализацией идеи, которая является моей головой.

Я использую векторную графику для реализации таких инструментов, как карандаш, линия, кривая и растровыевнедрить ковш инструмент, спрей и ластик.Но я столкнулся с проблемой.Хотя можно рисовать растровое изображение поверх вектора, невозможно нарисовать вектор поверх растрового изображения, если каждый рисунок находится в одном слое.

Таким образом, идея, которую я имею, состоит в том, чтобы сделать его в два слоя

  1. Верхний слой, где выполняется векторное рисование.
  2. В слое нижнего слоя после каждогопри векторном рисовании на MOUSE_UP создается растровая копия верхнего слоя, которая сохраняется на нижнем слое.Держите верхний слой полностью прозрачным, чтобы нижний слой всегда был виден.
  3. Такие вещи, как заливка (ведро), спрей и ластик, будут непосредственно применяться к нижнему слою.
  4. После каждого векторанарисован на MOUSE_UP, верхний слой будет очищен, но все будет видно, потому что он был создан заново в нижнем слое, а верхний слой полностью прозрачен.

Мои вопросы:

  1. Есть ли в моей логике изъян.
  2. Как сделать растровую копию мувиклипа сверху.Я пытался, но, возможно, я глуп, это не работает.

Название мувиклипа: topLayer_mc и bottomLayer_mc.Нужно иметь функцию для создания растровой копии topLayer_mc на каждой MOUSE_UP карандаша, линии и добавления ее в bottomLayer_mc.

Кто-нибудь может сказать мне, как это сделать.

Я имею в виду создание растровой копии topLayer_mc на каждой MOUSE_UP карандаша, линии и добавление ее в bottomLayer_mc.Функция будет делать.Заранее спасибо.

1 Ответ

2 голосов
/ 19 апреля 2011
  1. Я думаю, что ваша общая схема кажется разумной.
  2. Посмотрите на BitmapData.draw(). Это позволяет вам нарисовать IBitmapDrawable, который реализуется MovieClip (через DisplayObject).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...