Архів для Січень 23, 2008

Graphics.beginBitmapFill()

середа, Січень 23, 2008

При фарбуванні Bitmap-ою, фарбування відбувається починаючи з координат x:0, y:0, а тоді наша фігура (наприклад, при drawRect() це буде прямокутник) “нібито” стає маскою для щойно зафарбованої прощини. У прикладі при тяганні повзунка я наново перефарбовую Shape.graphics змінюючи тільки x та y для drawRect():

Цей ролик потребує Flash Player 9

Оновлення: Як виявилось, ця блоха тільки для мене і тільки в одному з проектів :) Насправді, якщо Вам потрібна така дія, яку очікував я, то Вам потрібно використовувати матрицю зі зміщенням як другий параметр до функції Graphics.beginBitmapFill(). Наведу приклад:

var m:Matrix = new Matrix();
m.translate(posX, posY); // posX та posY - це бажана позиція кінцевого прямокутника (чи будь-якої іншої фігури)
someShape.graphics.lineStyle();
someShape.graphics.beginBitmapFill(someBitmap, m);
someShape.graphics.drawRect(posX, posY, someBitmap.width, someBitmap.height); // ті ж самі posX та posY
someShape.graphics.endFill();