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

Reply via email to