PDA

Просмотр полной версии : 2 и более градиентных масок используя BitMap


Lobster2
19.07.2007, 19:33
здравствуйте!
ох уж этот битмап - вот-вот кажется что всё понятно, шаг в сторону и всё ( болото

у меня один слой просвечивает другой через маску, а маской управляет некий объект obj1, проблемма в том, что мне нужно много масок управляемых несколькими объектами - тут и начинаются беды с битмап - то один работает, то другой, то ниодного

очень расчитываю на дельный совет - чувствую истина где-то рядом))

спасибо большое

вот пример с одной маской и одним объектом

Stage.scaleMode = 'noScale';


this.createEmptyMovieClip("display_mc", this.getNextHighestDepth());
display_mc._x = reveal_mc._x;
display_mc._y = reveal_mc._y;


var maskbmp = new flash.display.BitmapData(mask_mc._width, mask_mc._height, true, 0);
var revealbmp = new flash.display.BitmapData(reveal_mc._width, reveal_mc._height, true, 0);
var displaybmp = revealbmp.clone();


maskbmp.draw(mask_mc);
revealbmp.draw(reveal_mc);
display_mc.attachBitmap(displaybmp, 1);


var displayRect = new flash.geom.Rectangle(0,0, mask_mc._width, mask_mc._height);
var offset = new flash.geom.Point(0, 0);
var basePoint = new flash.geom.Point(0,0);

display_mc.onEnterFrame = function(){

offset.x = obj1._x - displayRect.width/2;
offset.y = obj1._y - displayRect.height/2;

displayRect.x = offset.x;
displayRect.y = offset.y;

displaybmp.fillRect(displaybmp.rectangle, 0);
displaybmp.copyPixels(revealbmp, displayRect, offset, maskbmp, basePoint, true);
}