RSS

AS3 Swinging Pendulum

Actionscript 3 | Posted on Aug 16 2012

A pendulum effect is where an object continually swings horizontally back and forth.

var base:Number = 0;
var speed:Number = 0;
var drag:Boolean = false;
var oldx:Number = 0;
var newx:Number = 0;
var localPoint:Point;
var stagePoint:Point;

dragger.buttonMode = true;
dragger.addEventListener(MouseEvent.MOUSE_DOWN, startMove);
function startMove(evt:MouseEvent):void {
    drag=true
    dragger.startDrag();
}

dragger.addEventListener(MouseEvent.MOUSE_UP, stopMove);
function stopMove(e:MouseEvent):void {
    drag=false
    dragger.stopDrag();
}

dangle.addEventListener(Event.ENTER_FRAME, rotateSomething);
function rotateSomething(e:Event):void {
    if(drag) {
        //trace('rotationSomething->frame1');
        speed = (speed * 0.900000) + ((base - e.currentTarget.rotation) / 50);
        e.currentTarget.rotation = (e.currentTarget.rotation + speed);
    }else{
        //trace('rotationSomething->frame2');
        speed = (speed * 0.900000) + ((base - e.currentTarget.rotation) / 50);
        e.currentTarget.rotation = (e.currentTarget.rotation + speed);
    }
}

addEventListener(Event.ENTER_FRAME, inEnsembleAction);
function inEnsembleAction(e:Event):void {
    dangle.x=dragger.x
    dangle.y=dragger.y
    localPoint = new Point(dragger.x, dragger.y);
    stagePoint = localToGlobal(localPoint);

    oldx = newx;
    newx = stagePoint.x;
    dangle.rotation = (dangle.rotation) + ((newx - oldx) * 0.200000);
}

Custom FLV Control

Actionscript 3 | Posted on Aug 13 2012
var videoplayable:Boolean=true
var videoLoaded:Boolean=false;

//reset
mcVideo.mcVideoPlayer.btnPlay.gotoAndStop(1);
mcVideo.mcVideoPlayer.visible=false;

//video
mcVideo.addEventListener(MouseEvent.MOUSE_OVER, playerOver)
mcVideo.addEventListener(MouseEvent.MOUSE_OUT, playerOut)
mcVideo.mcVideoPlayer.btnPlay.buttonMode=true
mcVideo.mcVideoPlayer.btnPlay.addEventListener(MouseEvent.CLICK, toggleVideoPlayer)
mcVideo.mcVideoPlayer.btnMute.gotoAndStop(1);
mcVideo.mcVideoPlayer.btnMute.buttonMode=true
mcVideo.mcVideoPlayer.btnMute.addEventListener(MouseEvent.CLICK, toggleVideoPlayer)
mcVideo.mcVideoPlayer.mcBar.mcArea.addEventListener(MouseEvent.CLICK, toggleVideoPlayer)
mcVideo.mcVideoPlayer.mcBar.mcSeek.buttonMode=true
mcVideo.mcVideoPlayer.mcBar.mcSeek.addEventListener(MouseEvent.MOUSE_DOWN, dragVideoBar)
mcVideo.mcVideoPlayer.addEventListener(MouseEvent.MOUSE_UP, dropVideoBar)
mcVideo.mcVideoPlayer.dragging=false;

//buttons
function dragVideoBar(e:MouseEvent) {
    mcVideo.mcVideoPlayer.dragging=true
}
       
function dropVideoBar(e:MouseEvent) {
    mcVideo.mcVideoPlayer.dragging=false
    mcWeb.mcPlayer.mcVideo.seek(mcVideo.mcVideoPlayer.mcBar.mcSeek.x/mcVideo.mcVideoPlayer.mcBar.width * mcVideo.mcVideo.totalTime)
}

function playerOver(e:MouseEvent) {
    if(playerControlVisible) {
        mcVideo.mcVideoPlayer.visible=true
    }
}
       
function playerOut(e:MouseEvent) {
    mcVideo.mcVideoPlayer.visible=false
}
       
private function toggleVideoPlayer(e:MouseEvent) {
    switch(e.currentTarget) {
        case mcVideo.mcVideoPlayer.btnPlay:
            if(mcVideo.mcVideoPlayer.btnPlay.currentFrame==1) {
                mcVideo.mcVideoPlayer.btnPlay.gotoAndStop(2)
                mcVideo.mcVideo.play();
            } else {
                mcVideo.mcVideoPlayer.btnPlay.gotoAndStop(1)
                mcVideo.mcVideo.pause();
            }
            break;
    case mcVideo.mcVideoPlayer.btnMute:
            if(mcVideo.mcVideoPlayer.btnMute.currentFrame==1) {
                mcVideo.mcVideoPlayer.btnMute.gotoAndStop(2)
                mcVideo.mcVideo.volume=0
            } else {
                mcVideo.mcVideoPlayer.btnMute.gotoAndStop(1)
                mcVideo.mcVideo.volume=1
            }
            break;
    case mcVideo.mcVideoPlayer.mcBar.mcArea:
            mcVideo.mcVideo.seek(mcVideo.mcVideoPlayer.mcBar.mouseX/mcVideo.mcVideoPlayer.mcBar.width * mcVideo.mcVideo.totalTime);
            break;
    case mcVideo.mcPlay:
            mcVideo.mcPlay.visible=false;
            videoplayable=true;
            togglePlayScreen();
    }
}

function videoHandler(evt:VideoEvent):void{
    var totalSeconds:Number=mcVideo.mcVideo.totalTime;
    var elapsedSeconds:Number=mcVideo.mcVideo.playheadTime;
    var percent:Number=Math.round((elapsedSeconds/totalSeconds) * mcVideo.mcVideoPlayer.mcBar.mcBg.width);
    mcVideo.mcVideoPlayer.t_time.text = getTimeFormat(elapsedSeconds * 1000)// + " " + totalSeconds
    if(mcVideo.mcVideoPlayer.dragging==false){
        mcVideo.mcVideoPlayer.mcBar.mcBar.width=percent
        mcVideo.mcVideoPlayer.mcBar.mcSeek.x=percent-(mcVideo.mcVideoPlayer.mcBar.mcSeek.width/2)
    }
}
       
function seekBarUpdate(event:Event) {  
    if(mcVideo.mcVideoPlayer.dragging){
        mcVideo.mcVideoPlayer.mcBar.mcBar.width=mcVideo.mcVideoPlayer.mcBar.mcSeek.x
    }
}
       
function uVideoProgressHandler(event:VideoProgressEvent):void {
    var percent:int=Math.round(event.bytesLoaded/event.bytesTotal*100);
    if(percent > 10) {
        if(videoLoaded==false) {
            videoLoaded=true;
            togglePlayScreen()
        }
    }else{
        mcVideo.mcPreloader.t_text.text=percent
    }
}
       
function togglePlayScreen() {
    if(videoplayable == true) {
        mcVideo.mcVideoPlayer.btnPlay.gotoAndStop(2)
        mcVideo.mcVideo.play();
    } else {
        mcVideo.mcPlay.visible=true
    }
}