package { import flash.display.Sprite; import flash.net.NetConnection; import flash.net.NetStream; import flash.media.Video; import flash.display.MovieClip; import flash.events.Event; import FlashVideoPro.StrokeMask; import FlashVideoPro.BoxMask; import FlashVideoPro.AnimMask; import FlashVideoPro.VideoMC; import fl.controls.RadioButtonGroup; import fl.controls.RadioButton; import flash.events.MouseEvent; public class actionscript_video_09_masks_main extends Sprite { var anim_mc:AnimMask = new AnimMask(220,190,5); var stroke_mc:StrokeMask = new StrokeMask(90, 90);; var dragme_mc:BoxMask = new BoxMask(190,175); var video_mc:VideoMC = new VideoMC; public function actionscript_video_09_masks_main() { var myRadioGroup:RadioButtonGroup = new RadioButtonGroup("rbg"); var stroke_btn:RadioButton = new RadioButton(); var anim_btn:RadioButton = new RadioButton(); var dragme_btn:RadioButton = new RadioButton(); myRadioGroup.addEventListener(Event.CHANGE, changeHandler); // Attach video to the NetStream, and add to the display list addChild(video_mc); addChild(stroke_mc); addChild(dragme_mc); addChild(anim_mc); //video_mc.mask = anim_mc; dragme_mc.addEventListener(MouseEvent.MOUSE_DOWN, grab); dragme_mc.addEventListener(MouseEvent.MOUSE_UP, letgo); dragme_mc.buttonMode = true; } private function resetMasks() { stroke_mc.visible = false; anim_mc.visible = false; dragme_mc.visible = false; } private function strokeHandler() { resetMasks(); stroke_mc.visible = true; video_mc.mask = stroke_mc; } private function animHandler() { resetMasks(); anim_mc.visible = true; video_mc.mask = anim_mc; } private function dragMeHandler() { resetMasks(); dragme_mc.visible = true; video_mc.mask = dragme_mc; } private function changeHandler(event:Event):void { var rbg:RadioButtonGroup = event.target as RadioButtonGroup; switch (rbg.selection) { case stroke_btn: trace("stroke"); strokeHandler(); break; case anim_btn: trace("anim"); animHandler(); break; case dragme_btn: trace("dragme"); dragMeHandler(); break; } //trace(rbg.selectedData); } public function grab(event:MouseEvent):void { event.target.startDrag(); } public function letgo(event:MouseEvent):void { event.target.stopDrag(); } private function initButtons() { stroke_btn.label = "Brushstroke Mask"; anim_btn.label = "Animated Mask"; dragme_btn.label = "Drag-me Mask"; } } }