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