Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //----------------IMPORTS-------------------------//
- import fl.transitions.*;
- import fl.transitions.easing.*;
- import fl.transitions.TweenEvent;
- import caurina.transitions.*;
- //----------------Global Variables-------------------------//
- //Stage Dimensions
- var StageWidth:Number = stage.stageWidth;
- var StageHeight:Number = stage.stageHeight;
- //Strings
- var xmlURL:String;
- var videoURL:String;
- //Numbers
- var hc_X:Number;
- var hc_Y:Number;
- var hc_W:Number;
- var hc_H:Number;
- var restoreVolumeLevel:Number;
- var duration:Number;
- //Booleans
- var videoPlaying:Boolean = false;
- var firstClick:Boolean = true;
- //Tweens
- var hcXtween:Tween;
- var hcYtween:Tween;
- var hcWtween:Tween;
- var hcHtween:Tween;
- var videoTween:Tween;
- var playPauseTween:Tween;
- //Movieclips
- var rootVars:MovieClip;
- var vidHold:movieHolder = new movieHolder();
- var textHold:MovieClip = new MovieClip();
- var smallPreload:preloader = new preloader();
- //Sprites
- var ps5:Sprite = new Sprite();
- //XML Objects
- var xml:XML;
- //XMLList Objects
- var video1:XMLList;
- //URL Loaders
- var loader = new URLLoader();
- var cssLoader:URLLoader;
- //URL Requests
- var req:URLRequest = new URLRequest("site_stylesheets/intro.css");
- //Stylesheet
- var goodSheet:StyleSheet = new StyleSheet();
- //----------------Add Movie Clip-------------------------//
- var homeHold:MovieClip = new MovieClip();
- homeHold.name = 'homeHold'
- addChild(homeHold);
- //----------------Call Initial Function-------------------------//
- pageLoadAnimation();
- //----------------Page Load Animation-------------------------//
- function pageLoadAnimation():void{
- hc_X = (StageWidth - 452) / 2;
- hc_Y = (StageHeight - 340) / 2;
- hc_W = 604;
- hc_H = 340;
- homeHold.graphics.beginFill(0x000000,1);
- homeHold.graphics.drawRect(hc_X, hc_Y, hc_W, hc_H);
- homeHold.graphics.endFill();
- hcXtween = new Tween(homeHold, "x", Bounce.easeOut, StageWidth/2, 0, 1, true);
- hcYtween = new Tween(homeHold, "y", Bounce.easeOut, StageHeight/2, 0, 1, true);
- hcWtween = new Tween(homeHold, "width", Bounce.easeOut, 0, hc_W, 1, true);
- hcHtween = new Tween(homeHold, "height", Bounce.easeOut, 0, hc_H, 1, true);
- hcHtween.addEventListener(TweenEvent.MOTION_FINISH, getContent, false, 0, true);
- }
- function getContent(e:TweenEvent):void{
- hcHtween.removeEventListener(TweenEvent.MOTION_FINISH, getContent);
- kickitoff(xmlURL);
- // Listen for stage resize and have the resizeHandler reposition content
- stage.addEventListener(Event.RESIZE, this.resizeHandler);
- }
- function kickitoff(xmlPath):void{
- loader.load(new URLRequest(xmlPath));
- loader.addEventListener(Event.COMPLETE, xmlFinishedLoading);
- }
- function xmlFinishedLoading(e:Event):void {
- //cleanup
- loader.removeEventListener(Event.COMPLETE, xmlFinishedLoading);
- loader = null;
- //assign XML and XMLList Objects;
- xml = new XML(e.target.data);
- video1 = xml.introVid;
- //after loading XML for the page get css style sheet
- cssLoader = new URLLoader();
- cssLoader.addEventListener(Event.COMPLETE, cssLoaded,false,0,true);
- cssLoader.load(req);
- }
- function cssLoaded(event:Event):void{
- //parse css
- goodSheet.parseCSS(cssLoader.data);
- //clean up
- cssLoader.removeEventListener(Event.COMPLETE, cssLoaded);
- cssLoader = null;
- //load content now
- loadContent();
- }
- function loadContent():void{
- var _X:Number = (StageWidth - 452) / 2;
- var _Y:Number = (StageHeight - 340) / 2;
- ps5.graphics.clear();
- ps5.graphics.beginFill(0x000000,1);
- ps5.graphics.drawRect(_X,_Y,vidHold.width+10,vidHold.height+23);
- ps5.graphics.endFill();
- addChild(ps5);
- video.x = _X + 5;
- video.y = _Y + 5;
- video.width = 452;
- video.height = 340;
- addChild(video);
- videoURL = video1.vidURL.text();
- vidHold.x = _X;
- vidHold.y = _Y;
- vidHold.data = videoURL;
- vidHold.buttonMode = true;
- vidHold.mouseChildren = false;
- vidHold.play_btn.visible = false;
- addChild(vidHold);
- vidHold.addEventListener(MouseEvent.CLICK, playVid,false,0,true);
- vidHold.addEventListener(MouseEvent.MOUSE_OVER, vidOVER,false,0,true);
- vidHold.addEventListener(MouseEvent.MOUSE_OUT,vidOUT,false,0,true);
- //Add video title
- CreateTextField(_X,_Y+345,600,false,video1.vidDesc.text());
- //autostart introvid
- playVid(null);
- //add preloader
- smallPreload.x = StageWidth / 2;
- smallPreload.y = StageHeight / 2;
- Tweener.addTween(smallPreload.innerCircle, {rotation:(750) * 360, time:10, transition:"easeOutBack"});
- Tweener.addTween(smallPreload.outerCircle, {rotation:(750) * 360, time:10, transition:"easeOutBack"});
- addChild(smallPreload);
- //remove movie clip used for animation
- removeChild(getChildByName('homeHold'));
- resizeHandler(null);
- }
- function CreateTextField(_X,_Y,_WIDTH,WWRAP,HTMLstring):void{
- textHold.name = 'textHold';
- textHold.x = _X;
- textHold.y = _Y;
- addChild(textHold);
- var field:TextField;
- var fieldText:String = HTMLstring;
- field = new TextField();
- field.styleSheet = goodSheet;
- field.htmlText = fieldText;
- field.selectable = false;
- field.width = _WIDTH;
- field.autoSize = TextFieldAutoSize.LEFT;
- field.wordWrap = WWRAP;
- field.x = 6;
- field.y = 0;
- textHold.addChild(field);
- }
- //----------------VIDEO-------------------------//
- var video:Video = new Video();
- //Objects
- var meta:Object = new Object();
- //Methods
- meta.onMetaData = function(meta:Object)
- {
- duration = meta.duration;
- }
- //Net Connection
- var netCONN:NetConnection = new NetConnection();
- netCONN.connect(null);
- //Net Stream
- var netSTREAM:NetStream = new NetStream(netCONN);
- netSTREAM.addEventListener(NetStatusEvent.NET_STATUS, getStatus,false,0,true);
- netSTREAM.client = meta;
- netSTREAM.bufferTime = 5;
- stage.addEventListener(Event.ENTER_FRAME, enterFrame);
- var alphaOut:Tween;
- function enterFrame(e:Event):void{
- if(netSTREAM.bufferLength >= 5){
- stage.removeEventListener(Event.ENTER_FRAME, enterFrame);
- //remove preloader
- alphaOut = new Tween(smallPreload,"alpha",Regular.easeOut,1,0,2,true);
- }
- var percent:String;
- var perc:Number = netSTREAM.bufferLength / 5.1;
- percent = Math.floor(perc * 100).toString();
- smallPreload.percent.text = percent;
- }
- video.attachNetStream(netSTREAM);
- function getStatus(statusOBJECT:Object):void{
- if(statusOBJECT.info.code == "NetStream.Play.Stop"){
- //set first click back to true
- firstClick = true;
- //video is done playing so set videoPlaying back to false
- videoPlaying = false;
- //twee video opacity out
- videoTween = new Tween(video,"alpha",Regular.easeOut,1,.3,.5,true);
- //advance to one second so the first image of the video is showing
- netSTREAM.seek(0);
- netSTREAM.togglePause();
- //change from pause button to play button
- vidHold.play_btn.playBMP.visible = true;
- vidHold.play_btn.pauseBMP.visible = false;
- rootVars.restoreAudio(restoreVolumeLevel);
- }
- }
- var audioFade:Timer;
- function muteAudio(e:TimerEvent):void{
- rootVars.muteAudio();
- }
- function playVid(e:Event):void {
- if(videoPlaying == true){
- //restore audio back to playa at its previous position
- rootVars.restoreAudio(restoreVolumeLevel);
- //switch from pause button to play button
- vidHold.play_btn.playBMP.visible = true;
- vidHold.play_btn.pauseBMP.visible = false;
- videoPlaying = false;
- netSTREAM.togglePause();
- videoTween = new Tween(video,"alpha",Regular.easeOut,1,.3,.5,true);
- return;
- }
- else{
- //grab the current volume level
- rootVars = MovieClip(parent);
- restoreVolumeLevel = rootVars.playa.volumeLevel;
- //mute the playa on 3 second delay
- audioFade = new Timer(3000,1);
- audioFade.addEventListener(TimerEvent.TIMER, muteAudio, false,0,true);
- audioFade.start();
- //tween the video in
- videoTween = new Tween(video,"alpha",Regular.easeOut,.3,1,.5,true);
- if(firstClick){
- netSTREAM.play(videoURL);
- firstClick = false;
- }
- else{
- netSTREAM.togglePause();
- }
- videoPlaying = true;
- //switch from play button to pause button
- vidHold.play_btn.playBMP.visible = false;
- vidHold.play_btn.pauseBMP.visible = true;
- }
- }
- //----------------EVENT HANDLERS-------------------------//
- function resizeHandler(event:Event):void{
- //update state width global variable
- StageWidth = stage.stageWidth;
- //update stage height global variable
- StageHeight = stage.stageHeight;
- var _X:Number = (StageWidth - 452) / 2;
- var _Y:Number = (StageHeight - 340) / 2;
- ps5.graphics.clear();
- ps5.graphics.beginFill(0x000000,1);
- ps5.graphics.drawRect(_X,_Y,vidHold.width+10,vidHold.height+23);
- ps5.graphics.endFill();
- video.x = _X + 5;
- video.y = _Y + 5;
- vidHold.x = _X;
- vidHold.y = _Y;
- textHold.x = _X;
- textHold.y = _Y + 345;
- smallPreload.x = StageWidth / 2;
- smallPreload.y = StageHeight / 2;
- }
- function vidOVER(e:Event):void{
- e.target.removeEventListener(MouseEvent.MOUSE_OVER, vidOVER);
- e.target.play_btn.visible = true;
- playPauseTween = new Tween(e.target.play_btn,"alpha",Regular.easeOut,0,.9,.5,true);
- }
- function vidOUT(e:Event):void{
- e.target.addEventListener(MouseEvent.MOUSE_OVER, vidOVER);
- playPauseTween = new Tween(e.target.play_btn,"alpha",Regular.easeOut,.9,0,.5,true);
- }
Add Comment
Please, Sign In to add comment