topical media & game development
actionscript-video-09-masks-main.ax
actionscript-video-09-masks-main.ax
[swf]
flex
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 @ax-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 @ax-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";
}
}
}
(C) Æliens
27/08/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.