Creating your own movieclip masks (customMasks) instead of the provided masking styles: You can created animated masks as well as use the drawing API of flash MX to create your custom masks.

Animated (Non - Scripted) masks:
Create an empty movieclip symbol, inside flash MX, and give it a linkage identifier say "myMask". add a dummy graphic on the stage. Now add the following script in to the first keyframe.

stop ();
component = this._parent._parent._parent;
this._width = component.w;
this._height = component.h;
gotoAndPlay (this.currDirection);

This makes the mask scale to the slideshow width and height.

If you want to use adaptive pieceRemoval you will need to create both forward and backward animations. now add labels, "forward" and "backward" to the timeline, depending on how long your animation is. Starting with the forward label create you animation. Remember you are making a mask animation, so you need something that masks fully and slowly reduces in size, until there is no mask at all.

On the keyframe after the mask is over, enter the script,

stop ();
component.clearLag ();

This tells the component that your custom mask is complete.

Similarly, create the "backward" animation. Same principle again full mask to no mask. and on the next keyframe after the mask enter the same script.

stop ();
component.clearLag ();

Note: the dummy need not be present on the mask after the first frame. For further reference look at the pageFlipMask movieclip in the custom masks folder.

Scripted Masks: You can also use the new Drawing API to create the custom Mask. Create a new movieclip symbol and give it a linkage identifier "myScriptMask" Create a dummy graphic on the first frame, convert it to a movieclip and give it instance name, dummy. Add the following code to the script on first key frame.

component = this._parent._parent._parent;
mc = this._parent._parent;
dummy._width = component.w;
dummy._height = component.h;

Here you resize the dummy instead of the whole stage, because you want to preserve the xscale and yscale of the mask. to draw the mask you will need 3 parameter from the component, namely w -- > width h --> height pieces --> pieces To get them simply use,

component.w,
component.h,
component.pieces,

respectively.

The procedure you have to follow is, create a new Movieclip, save a reference of it in the array, mc.arrPieces, and draw inside it with the drawing API, In this manner populate the whole stage with the mask. and then call,

component.startClearing.call (component);

like this. This tells the component to start clearing the pieces from the mask. Look at the scriptedMask movieclip inside the customMasks folder for further reference. Note: for consistency, I have added 3 labels "forward", "backward", "random", to this mask to make it compatible with general customMasks.

After you have created your custom mask, you can change the maskStyle parameter to "movieclip" and set mcID to your movieclip's linkage identifier, to start using your custom mask.