Solved. I have clips: mainClip - myVideo_mc - clip with video I use code mask for mainClip For reflection I draw bitmap from nested myVideo_mc var myBitmapData = new flash.display.BitmapData(bounds.width, bounds.height, true, 0xFFFFFF); myBitmapData.draw(myVideo_mc); var reflect=this.createEmptyMovieClip("reflect", 10); reflect.attachBitmap(myBitmapData, 1); reflect._yscale = -100; reflect._x =mainClip._x; reflect._y =mainClip._y+(bounds.height*2)-distance;
Thank you! Last idea for nested clips was good. 2009/4/28 natalia Vikhtinskaya <natavi.m...@gmail.com>: > I should add that this is wrong because gives wrong line between clips. > > 2009/4/28 natalia Vikhtinskaya <natavi.m...@gmail.com>: >> I did. It looks strange but result is the same wrong. >> If say about such simple code: >> >> var myBitmapData = new flash.display.BitmapData(bounds.width, >> bounds.height, true, 0xFFFFFF); >> myBitmapData.draw(video); //this is a clip with code mask and video >> clip inside >> var reflect=this.createEmptyMovieClip("reflect", 10); >> reflect.attachBitmap(myBitmapData, 1); >> reflect._yscale = -100; >> reflect._x =video._x; >> reflect._y =video._y+(bounds.height*2)-distance; >> >> Result is not correct. >> http://www.natavi.co.uk/test/video_perspective_clip.html >> >> >> 2009/4/28 Hans Wichman <j.c.wich...@objectpainters.com>: >>> nice find! >>> I wonder what happens if you nest the video_mc and its coded mask into >>> another parent clip and reflect that. >>> >>> regards, >>> JC >>> >>> >>> >>> On Tue, Apr 28, 2009 at 2:15 PM, natalia Vikhtinskaya <natavi.m...@gmail.com >>>> wrote: >>> >>>> I found that if I use layer mask reflection code works correctly >>>> http://www.natavi.co.uk/test/video_perspective.html >>>> >>>> If I try to use script mask over my video clip >>>> >>>> var videoMaska=this.createEmptyMovieClip("videoMaska",100); >>>> videoMaska._x=myVideo_mc._x; >>>> videoMaska._y=myVideo_mc._y; >>>> drawShapeMask(videoMaska, 0, 0, myVideo_mc._width,myVideo_mc._height); >>>> myVideo_mc.setMask(videoMaska); >>>> >>>> Result is wrong >>>> http://www.natavi.co.uk/test/video_perspective_wrong.html >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> 2009/4/28 Hans Wichman <j.c.wich...@objectpainters.com>: >>>> > Hmmm, >>>> > might be that some values end up negative while they shouldn't or as >>>> floats >>>> > while they should be integers. >>>> > To be honest, I don't completely understand what you are trying to do in >>>> the >>>> > left image, the lower part has to have an angle in it? >>>> > I'm not sure that's going to work without skewing of some sort. >>>> > >>>> > regards, >>>> > JC >>>> > >>>> > >>>> > On Tue, Apr 28, 2009 at 1:05 PM, natalia Vikhtinskaya < >>>> natavi.m...@gmail.com >>>> >> wrote: >>>> > >>>> >> Yes I could not get correct rusult with masked video using neither >>>> >> your code nor my code. >>>> >> >>>> >> 2009/4/28 Hans Wichman <j.c.wich...@objectpainters.com>: >>>> >> > Hi, >>>> >> > >>>> >> > no don't think so, there is an example in there of a masked clip, and >>>> a >>>> >> > sample of video. >>>> >> > I'm assuming you've tried my code with masked video and it didn't >>>> work, >>>> >> or >>>> >> > are you asking me to try that for you? I wasn't quite sure;). Because >>>> I >>>> >> see >>>> >> > no reason why it wouldn't work :) >>>> >> > >>>> >> > regards, >>>> >> > JC >>>> >> > >>>> >> > On Tue, Apr 28, 2009 at 11:55 AM, natalia Vikhtinskaya < >>>> >> > natavi.m...@gmail.com> wrote: >>>> >> > >>>> >> >> Yes, I saw these excellent examples and learned a lot. But it does >>>> not >>>> >> >> help with this situation. Do you have example where you have masked >>>> >> >> video? >>>> >> >> >>>> >> >> 2009/4/28 Hans Wichman <j.c.wich...@objectpainters.com>: >>>> >> >> > "that takes masking into account, it takes masks into account" - >>>> some >>>> >> >> days >>>> >> >> > I'm like a broken record lol >>>> >> >> > >>>> >> >> > >>>> >> >> > >>>> >> >> > >>>> >> >> > On Tue, Apr 28, 2009 at 11:28 AM, Hans Wichman < >>>> >> >> > j.c.wich...@objectpainters.com> wrote: >>>> >> >> > >>>> >> >> >> Hi Natalia, >>>> >> >> >> >>>> >> >> >> I recently wrote a reflection class that takes masking into >>>> account, >>>> >> it >>>> >> >> >> takes masks into account, hope it helps: >>>> >> >> >> >>>> http://objectpainters.com/blog/2008/11/23/visual-reflections-in-as2/ >>>> >> >> >> >>>> >> >> >> Gots lots of samples in the zip including video. >>>> >> >> >> >>>> >> >> >> greetz >>>> >> >> >> JC >>>> >> >> >> >>>> >> >> >> On Tue, Apr 28, 2009 at 10:26 AM, natalia Vikhtinskaya < >>>> >> >> >> natavi.m...@gmail.com> wrote: >>>> >> >> >> >>>> >> >> >>> Hi to all >>>> >> >> >>> >>>> >> >> >>> I use reflection effect for video. But I want to draw not >>>> horizontal >>>> >> >> >>> line between video and reflection Mc. So I mask my video with >>>> shape: >>>> >> >> >>> >>>> >> >> >>> var distance:Number=20; >>>> >> >> >>> function drawShapeMask(mc:MovieClip, startX:Number, >>>> startY:Number, >>>> >> >> >>> w:Number, h:Number) { >>>> >> >> >>> mc.beginFill(0xFF0000); >>>> >> >> >>> mc.moveTo(startX, startY); >>>> >> >> >>> mc.lineTo(startX + w, startY); >>>> >> >> >>> mc.lineTo(startX + w, startY + h); >>>> >> >> >>> mc.lineTo(startX, startY + h-distance); >>>> >> >> >>> mc.lineTo(startX, startY); >>>> >> >> >>> mc.endFill(); >>>> >> >> >>> } >>>> >> >> >>> Now bottom line of video has an angle. >>>> >> >> >>> >>>> >> >> >>> Reflection code works correctly without masked video. With masked >>>> >> >> >>> video it shows only half of video without gradient mask. >>>> >> >> >>> This is how that looks http://www.natavi.co.uk/test/reflect.jpg >>>> >> >> >>> . >>>> >> >> >>> What is wrong? Maybe I can create the same angle position >>>> between >>>> >> >> >>> video and reflection without using mask? >>>> >> >> >>> >>>> >> >> >>> >>>> >> >> >>> var reflectionDropoff:Number=1.1; >>>> >> >> >>> var reflectionAlpha:Number=50; >>>> >> >> >>> >>>> >> >> >>> >>>> >> >> >>> reflectIt=function(){ >>>> >> >> >>> var bounds = new Object(); >>>> >> >> >>> bounds.width = myVideo_mc._width; >>>> >> >> >>> bounds.height = myVideo_mc._height; >>>> >> >> >>> matrixHeight = bounds.height/reflectionDropoff; >>>> >> >> >>> var myBitmapData = new >>>> flash.display.BitmapData(bounds.width, >>>> >> >> >>> bounds.height, true, 0xFFFFFF); >>>> >> >> >>> myBitmapData.draw(myVideo_mc); >>>> >> >> >>> var reflect=this.createEmptyMovieClip("reflect", 10); >>>> >> >> >>> reflect.attachBitmap(myBitmapData, 1); >>>> >> >> >>> reflect._yscale = -100; >>>> >> >> >>> reflect._x =myVideo_mc._x; >>>> >> >> >>> reflect._y =myVideo_mc._y+(bounds.height*2)-distance; >>>> >> >> >>> reflect._alpha = reflectionAlpha; >>>> >> >> >>> var gra=this.createEmptyMovieClip("gra", 15); >>>> >> >> >>> var fillType = "linear"; >>>> >> >> >>> var colors = [0xFFFFFF, 0xFFFFFF]; >>>> >> >> >>> var alphas = [80, 0]; >>>> >> >> >>> var ratios = [0, 255]; >>>> >> >> >>> var matrix = {matrixType:"box", x:0, y:0, w:bounds.width, >>>> >> >> >>> h:matrixHeight, r:(90/180)*Math.PI}; >>>> >> >> >>> var spreadMethod:String = "pad"; >>>> >> >> >>> gra.beginGradientFill(fillType, colors, alphas, ratios, >>>> >> matrix, >>>> >> >> >>> spreadMethod); >>>> >> >> >>> gra.moveTo(0, 0); >>>> >> >> >>> gra.lineTo(bounds.width, distance); >>>> >> >> >>> gra.lineTo(bounds.width, bounds.height); >>>> >> >> >>> gra.lineTo(0, bounds.height); >>>> >> >> >>> gra.lineTo(0, 0); >>>> >> >> >>> gra.endFill(); >>>> >> >> >>> gra._y = reflect._y - reflect._height; >>>> >> >> >>> gra._x = reflect._x; >>>> >> >> >>> reflect.cacheAsBitmap = true; >>>> >> >> >>> gra.cacheAsBitmap = true; >>>> >> >> >>> reflect.setMask(gra); >>>> >> >> >>> this.onEnterFrame = function () >>>> >> >> >>> { >>>> >> >> >>> myBitmapData.draw(myVideo_mc); >>>> >> >> >>> }; >>>> >> >> >>> >>>> >> >> >>> } >>>> >> >> >>> >>>> >> >> >>> Thanks for any help! >>>> >> >> >>> _______________________________________________ >>>> >> >> >>> Flashcoders mailing list >>>> >> >> >>> Flashcoders@chattyfig.figleaf.com >>>> >> >> >>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >>>> >> >> >>> >>>> >> >> >> >>>> >> >> >> >>>> >> >> > _______________________________________________ >>>> >> >> > Flashcoders mailing list >>>> >> >> > Flashcoders@chattyfig.figleaf.com >>>> >> >> > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >>>> >> >> > >>>> >> >> >>>> >> >> _______________________________________________ >>>> >> >> Flashcoders mailing list >>>> >> >> Flashcoders@chattyfig.figleaf.com >>>> >> >> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >>>> >> >> >>>> >> > _______________________________________________ >>>> >> > Flashcoders mailing list >>>> >> > Flashcoders@chattyfig.figleaf.com >>>> >> > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >>>> >> > >>>> >> >>>> >> _______________________________________________ >>>> >> Flashcoders mailing list >>>> >> Flashcoders@chattyfig.figleaf.com >>>> >> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >>>> >> >>>> > _______________________________________________ >>>> > Flashcoders mailing list >>>> > Flashcoders@chattyfig.figleaf.com >>>> > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >>>> > >>>> >>>> _______________________________________________ >>>> Flashcoders mailing list >>>> Flashcoders@chattyfig.figleaf.com >>>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >>>> >>> _______________________________________________ >>> Flashcoders mailing list >>> Flashcoders@chattyfig.figleaf.com >>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >>> >> > _______________________________________________ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders