Действительно ли это должен быть Sprite, как в векторной графике?Может ли наложение быть растровым объектом?И хотите ли вы изменить цвет на уровне пикселей, как это делает кисть или ластик в MS Paint?
Если вам действительно не нужна векторная графика, я предлагаю вместо этого использовать растровый объект.Выполните следующие действия:
оверлей Sprite на самом деле является растровым оверлеем, обязательно сделайте его прозрачным
var bmp : Bitmap = new Bitmap( new BitmapData(imgWidth, imgHeight, true, 0));
вы создаете векторную графику во временном спрайте или событии лучше Shape, потому чтоне нужно сдерживать.
var tmpVectorGraphics : Shape = new Shape();
// draw whatever you want using the graphics library functions
drawStuffInShape(tmpVectorGraphics);
теперь рисует содержимое векторной графики на растровых данных объекта Bitmap - преобразуя векторную графику в растровую графику
bmp.bitmapData.draw(tmpVectorGraphics);
// if what you've drawn in the shape containing the vector graphics is overlayed
// the same way as the bmp object, you don't need to specify a matrix object
, после этого вы можете очистить tmpVectorGraphics
tmpVectorGraphics.graphics.clear();
Чтобы очистить пиксели, как это делает ластик в Paint, вы можете создать прозрачную фигуру и скопировать ее в определенные позиции в растровом изображении.
// create the eraser bitmap data
var eraser : BitmapData = new BitmapData(5, 5, true, 0);
// this is the location of where you want the eraser to be applied
var pos : Point = new Point (locationX, locationY);
// apply the eraser to the main bmp overlay to a specific location
bmp.bitmapData.copyPixels(eraseer, eraser.rect, pos);
Так что в любое время вы хотите добавитьДля некоторых графических изображений вы генерируете их в форме tmpVectorGraphics, а затем рисуете их на объекте Bitmap.Это также быстрее с точки зрения производительности, потому что чем больше графических команд вы выполнили, чтобы создать Shape, тем дороже он рендерится для каждого кадра.Растровое изображение кэшируется в памяти, и не имеет значения, насколько сложна в нем графика.
Есть много вещей, которые вы можете сделать с BitmapData в ActionScript, и это очень дешево с точки зрения скорости обработки, поэтому яПредлагаем вам поискать некоторые учебники по BitmapData, потому что вы можете сделать замечательное приложение для рисования, если знаете, как освоить этот класс:)
Приветствия, Михня