You can distort MovieClips in Flash 8 using the Matrix class. But this will only allow you to do skewing and not true 3D perspective. Well there is a great 3D Actionscript library called Sandy that allows for real 3D effects. One of the classes is called DistortImage and it does just what its name implies. You give it four points and it will strech and skew your MovieClip anyway you want. In the example below I used Fuse to animate those four points so the distortion is constantly moving. I also added a slider which controls the speed of the animation. This is cool stuff so be sure to check out Sandy! The AS code is also listed below.

[as]import flash.display.BitmapData;
import sandy.util.DistortImage;
import com.mosesSupposes.fuse.*;
ZigoEngine.register(Fuse, PennerEasing, FuseFMP);
var fakes:Array = new Array();
var sp:Number = 1;
for(var i=0;i<4;i++)
{
fakes.push(this.createEmptyMovieClip(“f”+i,i+10));
}
var bmd:BitmapData = new BitmapData(photo._width, photo._height);
var clip:MovieClip = this.createEmptyMovieClip(“holder”, 1);
var di:DistortImage = new DistortImage(clip, bmd, 5, 5);
di.texture.draw(photo);
di.setTransform(25,33,80,45,67,23,9,23);
function moveFakes():Void
{
for(var i=0;i<4;i++)
{
var f:Fuse = new Fuse();
f.push({target:this["f"+i],x:Math.random()*Stage.width, y:Math.random()*Stage.height, time:sp, ease:”linear”});
if(i == 0) f.push({func:moveFakes, scope:this});
f.start();
}
}
this.onEnterFrame = function()
{
di.setTransform(f0._x, f0._y, f1._x, f1._y, f2._x, f2._y, f3._x, f3._y);
di.texture.draw(photo);
}
moveFakes();
var sl:Object = new Object();
sl.onChange = function(ev)
{
_root.sp = ev.value;
}
speed.addListener(sl);[/as]
Lee