http://www.flashperfection.com/tutorials/Before-And-After-Image-Viewer-with-Actionscript-3.0-34471.html

[as3]
var _text:String = "This text is a waving text"; // text to be used
var _format:TextFormat = new TextFormat("Arial", 12); // text object
var _radius:int = 5; // radius for the wave
var _speed:Number = Math.PI/15; // the speed of animation
var _angle:Number =0 // the anle of the letter object
var _letters:Array = null;
[/as3]

[as3]
function Init():void
{
_letters = [];

for (var $a = 0, x = 0; $a<_text.length; $a++)
{
_letters[$a] = new Sprite();

var $txt:TextField = new TextField();
$txt.selectable = false;
$txt.autoSize = "left";
$txt.text = _text.charAt($a);
$txt.setTextFormat(_format);

_letters[$a].addChild($txt);
_letters[$a].x = $a * 15;
addChild(_letters[$a])
}

addEventListener(Event.ENTER_FRAME, Animate, false, 0, true);

}
[/as3]

[as3]
function Animate($e:Event):void
{
for (var $a = 0; $a<_letters.length; $a++)
{
_letters[$a].y = Math.sin(_angle+$a)*_radius;
}

_angle += _speed;
}[/as3]

http://www.flashperfection.com/tutorials/Before-And-After-Image-Viewer-with-Actionscript-3.0-34471.html

[as3]
var _before:Bitmap = new Bitmap(new Before(0,0));
var _after:Bitmap = new Bitmap(new After(0,0));
var _slider:Slidebar = new Slidebar();
var _mask:Sprite = new Sprite();

function Init() : void
{
_mask.graphics.beginFill(0x000000);
_mask.graphics.drawRect(0,0,600,282);
_mask.graphics.endFill();

addChild(_mask);

_after.mask = _mask;

addChild(_before);
addChild(_after);
addChild(_slider);

_slider.x = 50;
_mask.x = _slider.x;

_slider.buttonMode = true;
_slider.addEventListener(MouseEvent.MOUSE_DOWN, SlidebarEvents, false, 0, true);

stage.addEventListener(MouseEvent.MOUSE_UP, StopEvents, false, 0, true);
}

function SlidebarEvents($e:MouseEvent):void
{
stage.addEventListener(MouseEvent.MOUSE_MOVE, Move, false, 0, true);
}

function StopEvents($e:MouseEvent):void
{
stage.removeEventListener(MouseEvent.MOUSE_MOVE,Move);
}

function Move(event:MouseEvent):void
{
_slider.x = mouseX;
if (_slider.x > stage.stageWidth){
_slider.x = stage.stageWidth;
}
else if(_slider.x < 0){
_slider.x = 0;
}

_mask.x = _slider.x;
}

Init();
[/as3]

http://snipplr.com/view.php?codeview&id=51576

[as3]
package
{
import flash.display.MovieClip;
import com.greensock.loading.*;
import com.greensock.loading.display.*;
import com.greensock.*;
import com.greensock.events.LoaderEvent;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.geom.Rectangle;
import flash.geom.Point;

public class VideoPlayer extends MovieClip
{

public var videoBar:MovieClip = new MovieClip ;// the videoBar
public var playPause:MovieClip = new MovieClip ;

// check whether you are displaying the time or changing the time
private var seeking:Boolean = false;
private var video:VideoLoader;
private var endOfVideo:Number;

public function VideoPlayer ():void
{
init ();
}

public function init ():void
{

//create a VideoLoader
video = new VideoLoader("song.flv",{name:"myVideo",container:this,width:400,height:300,scaleMode:"proportionalInside",bgColor:0x000000,autoPlay:false,volume:1,requireWithRoot:this.root});

//start loading
video.load ();

// set up the play/pause toggle
playPause.buttonMode = true;
playPause.addEventListener (MouseEvent.CLICK, togglePause);

// set up the videoBar
videoBar.slider.buttonMode = true;
videoBar.slider.addEventListener (MouseEvent.MOUSE_DOWN, scrubToTime);

// listen to the stopDrag method on the stage, not the videoBar!
stage.addEventListener (MouseEvent.MOUSE_UP, stopScrubToTime);

// check the video time and update the videoBar accordingly
addEventListener (Event.ENTER_FRAME, updateVideoTime, false, 0, true);

videoBar.addEventListener (MouseEvent.CLICK, onSeekToClick, false, 0, true);

endOfVideo = videoBar.width – videoBar.slider.width;
}

private function updateVideoTime (e:Event):void
{
// moves the videoBar
if (! seeking)
{
if (videoBar.slider.x <= endOfVideo)
{
videoBar.slider.x = (video.videoTime /video.duration)*videoBar.width;
}
else
{
video.videoTime = 0;
videoBar.slider.x = (video.videoTime /video.duration)*videoBar.width;
video.pauseVideo ();
playPause.gotoAndStop ("play");
}
}
else
{
seekToPoint ();
}
}

private function seekToPoint ():void
{
var c:Number = (videoBar.slider.x);
var value:Number = Math.abs(c / videoBar.width);
video.gotoVideoTime (value*video.duration, true);
}

private function scrubToTime (e:Event):void
{
// constrain to rectangle
videoBar.slider.startDrag (false, new Rectangle(0,0,videoBar.width – videoBar.slider.width, 0));
seeking = true;

}

private function stopScrubToTime (e:Event):void
{
videoBar.slider.stopDrag ();
seeking = false;
}

private function togglePause (event:MouseEvent):void
{
if (video.videoPaused)
{
video.playVideo ();
playPause.gotoAndStop ("pause");
}
else
{
video.pauseVideo ();
playPause.gotoAndStop ("play");
}
}

private function onSeekToClick (e:MouseEvent):void
{
removeEventListener (Event.ENTER_FRAME, updateVideoTime);
var point:Point = new Point(this.mouseX,this.mouseY);
var stagePoint = videoBar.globalToLocal(point);
if (stagePoint.x < videoBar.x + videoBar.width)
{
videoBar.slider.x = stagePoint.x;
seekToPoint ();
addEventListener (Event.ENTER_FRAME, updateVideoTime, false, 0, true);
}
}

}
}
[/as3]

http://www.tutorialized.com/tutorial/Animated-line-drawing-using-TweenLite-in-AS3/73678

[as3]
import com.greensock.TweenLite;

var pointsArray:Array = new Array(new Point(31,34),
new Point(31,277),
new Point(367,277),
new Point(367,34),
new Point(31,34));

mcDraw.x = pointsArray[0].x;
mcDraw.y = pointsArray[0].y;

var lineAnim:Shape = new Shape();
lineAnim.graphics.lineStyle(2);
lineAnim.graphics.moveTo(mcDraw.x, mcDraw.y);
addChild(lineAnim);

for(var i:uint = 0; i < pointsArray.length; i++){
TweenLite.to(mcDraw, 1, {x:pointsArray[i].x,
y:pointsArray[i].y,
delay:i*1,
overwrite:false,
onUpdate:updateHandler});
}

function updateHandler():void{
lineAnim.graphics.lineTo(mcDraw.x, mcDraw.y);
lineAnim.graphics.moveTo(mcDraw.x, mcDraw.y);
}
[/as3]