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 <[email protected]>:
> 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 <[email protected]
>> 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 <[email protected]>:
>> > 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 <
>> [email protected]
>> >> wrote:
>> >
>> >> Yes I could not get correct rusult with masked video using neither
>> >> your code nor my code.
>> >>
>> >> 2009/4/28 Hans Wichman <[email protected]>:
>> >> > 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 <
>> >> > [email protected]> 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 <[email protected]>:
>> >> >> > "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 <
>> >> >> > [email protected]> 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 <
>> >> >> >> [email protected]> 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
>> >> >> >>> [email protected]
>> >> >> >>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>> >> >> >>>
>> >> >> >>
>> >> >> >>
>> >> >> > _______________________________________________
>> >> >> > Flashcoders mailing list
>> >> >> > [email protected]
>> >> >> > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>> >> >> >
>> >> >>
>> >> >> _______________________________________________
>> >> >> Flashcoders mailing list
>> >> >> [email protected]
>> >> >> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>> >> >>
>> >> > _______________________________________________
>> >> > Flashcoders mailing list
>> >> > [email protected]
>> >> > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>> >> >
>> >>
>> >> _______________________________________________
>> >> Flashcoders mailing list
>> >> [email protected]
>> >> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>> >>
>> > _______________________________________________
>> > Flashcoders mailing list
>> > [email protected]
>> > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>> >
>>
>> _______________________________________________
>> Flashcoders mailing list
>> [email protected]
>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>
> _______________________________________________
> Flashcoders mailing list
> [email protected]
> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders