Lets Talk About Flash RIA, 3D and Mobile

Lets Talk About Flash RIA, 3D and Mobile

Become author of Flash & Flex Developer's Magazine


































If you are interested in details please, feel free to contact with adela.kuzniarska@software.com.pl

counter



import fl.text.TLFTextField;
import flashx.textLayout.formats.TextLayoutFormat;
import flashx.textLayout.elements.TextFlow;



var my_speed:Number = 5;
var my_timer:Timer;
var counter:Number=0;
var _total:Number = 5;

my_timer=new Timer(my_speed*100);
my_timer.addEventListener(TimerEvent.TIMER, increment);
my_timer.start();

function increment(e:TimerEvent):void {
counter++;
//trace(counter);
if (counter==_total) {
counter=0;

}
dec_.text = String(counter);

}


/* ------------- ---------*/

var my_playback_counter:Number=0;
var my_total:Number = 5;
var ar_count:Number;

var myTimer:Timer = new Timer(100 * my_total);

myTimer.addEventListener(TimerEvent.TIMER, decrement);
function decrement (e:TimerEvent):void{
my_playback_counter--;
ar_count = my_playback_counter + my_total;

if (ar_count==0) {
my_playback_counter=0;
}

// trace(ar_count);
inc_.text = String(ar_count);
}
myTimer.start();

Convert objects in array to MovieClip

/*  convert array objects into movieclip */

    for (var i:uint = 0; i < buttonArray.length ; i++)
    {
        var remov = buttonArray[i];
        var ins:MovieClip = MovieClip(mc.getChildByName(remov));
        ins.gotoAndStop(1);
    }

/*  detecting objects inside container or movieclip */

    for (var i:uint = 0; i < mc.numChildren; i++){
    trace (i+'.\t name:' + mc.getChildAt(i).name +
           '\t type:' + typeof (mc.getChildAt(i))+
           '\t' + mc.getChildAt(i));
    }

Flash builder & Away3d setting 3d scene

Flash builder module: get your rss

// ActionScript file
//http://www.flash-3d.net/2010/11/loading-complex-models-with-away3d/
//http://www.mail-archive.com/away3d-dev@googlegroups.com/msg21922.html
//http://gestureworks.com/flash-tutorials/multitouch-away3d-application/
//http://www.brighthub.com/hubfolio/matthew-casperson/blog/archive/2009/08/23/tutorial-index.aspx
//http://www.allforthecode.co.uk/aftc/forum/user/modules/forum/article.php?index=4&subindex=0&aid=278
//http://www.flashmagazine.com/tutorials/detail/away3d_basics_the_cameras/
//http://www.youtube.com/watch?v=oCltyflJdIM

import away3d.arcane;
import away3d.cameras.Camera3D;
import away3d.cameras.HoverCamera3D;
import away3d.containers.*;
import away3d.core.base.*;
import away3d.core.math.*;
import away3d.materials.ColorMaterial;
import away3d.primitives.Cube;
import away3d.primitives.Plane;
import away3d.primitives.Trident;

import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
import flash.system.System;
import flash.ui.Keyboard;

import mx.core.mx_internal;
import mx.effects.Zoom;
import mx.managers.SystemManager;

private var scene:Scene3D;
//private var camera_c:Camera3D;
private var view:View3D;
private var camera_c:HoverCamera3D;
private var cube:Cube;
private var cPlane:Plane;
private var axis:Trident;
private var toggle:Boolean = false;

private var lastPanAngle:Number;
private var lastTiltAngle:Number;
private var lastMouseX:Number;
private var lastMouseY:Number;
private var moveMouse:Boolean = false;

private var lastKey:uint;
private var keyIsDown:Boolean = false;

private function init():void
{ initEngine();
loadModel();
Rendering();
}

private function initEngine():void
{
camera_c = new HoverCamera3D({z:-500});
//camera_c = new Camera3D({z:-500});
view = new View3D({camera:camera_c});
//view.height = modelcontainer.height;
//view.width = modelcontainer.width;
view.x = modelcontainer.width/2;
view.y = modelcontainer.height/2;
chome.addChild(view);

}
protected function camera_clickHandler(event:MouseEvent = null):void
{ if(toggle){
toggle = false;
msg.text = "disable camera view";
} else {
toggle = true;
msg.text = "enable camera view";
}
}

protected function loadModel():void
{ var material:ColorMaterial = new ColorMaterial(0xff0000);
cube = new Cube(material);

view.scene.addChild(cube);
//axis = new Trident(200, true);
//view.scene.addChild(axis);
cPlane = new Plane({width:500,height:500,bothsides:true,z:0,ownCanvas:true});
cPlane.rotationX = 90;
//cPlane.rotationY = 180;
cPlane.y = -45;
view.scene.addChild(cPlane);

}
protected function Rendering():void
{ chome.addEventListener(MouseEvent.MOUSE_DOWN, MouseDown);
chome.addEventListener(MouseEvent.MOUSE_UP, MouseUp);
chome.addEventListener(Event.ENTER_FRAME, renderScene);
this.stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDown);
this.stage.addEventListener(KeyboardEvent.KEY_UP,keyUp);
}
private function renderScene(event:Event):void
{
if(keyIsDown){
// if the key is still pressed, just keep on moving
switch(lastKey){
case 87 : camera_c.moveUp(10); break;
case 83 : camera_c.moveDown(10); break;
case 65 : camera_c.moveLeft(10); break;
case 68 : camera_c.moveRight(10); break;
case Keyboard.UP : camera_c.moveForward(10); break;
case Keyboard.DOWN : camera_c.moveBackward(10); break;
}
}
var cameraSpeed:Number = 0.3;// Approximately same speed as mouse movement.
if (moveMouse)
{
camera_c.panAngle = cameraSpeed*(stage.mouseX - lastMouseX) + lastPanAngle;
camera_c.tiltAngle = cameraSpeed*(stage.mouseY - lastMouseY) + lastTiltAngle;
}
if(toggle){
cube.rotationY += 2;
camera_c.hover(true);
} else {
camera_c.hover(false);
cube.rotationY = 0;
}

view.render();
}

private function keyDown(e:KeyboardEvent):void
{ lastKey = e.keyCode;
keyIsDown = true;
}
private function keyUp(e:KeyboardEvent):void
{
keyIsDown = false;
}
private function m_out(event:MouseEvent):void
{
camera_c.zoom = stage.stageHeight;
camera_c.focus = stage.stageWidth;
}
private function m_over(event:MouseEvent):void
{
camera_c.zoom = (stage.mouseY/stage.stageHeight) * 4+0.5;
camera_c.focus = (stage.mouseX/stage.stageWidth) * 600;
}
private function MouseDown(event:MouseEvent):void { lastPanAngle = camera_c.panAngle;
lastTiltAngle = camera_c.tiltAngle;
lastMouseX = stage.mouseX;
lastMouseY = stage.mouseY;
moveMouse = true;
}
private function MouseUp(event:MouseEvent):void
{ moveMouse = false;
}

flash builder rss feeds

Flash builder module: get your rss

<?xml version="1.0" encoding="utf-8"?>
<mx:Module xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
width="100%" height="100%" creationComplete="init()" currentState="beginfeed"
layout="absolute">

<fx:Style source="/module/css/css.css"/>

<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.events.FlexEvent;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;

import spark.events.DropDownEvent;
import spark.events.IndexChangeEvent;

// Create a Bindable ArrayCollection to hold the Data Feed
[Bindable]
private var fHolder:ArrayCollection;



[Bindable]
private var rssdetails:String;

private var rssURL:String;
private var yourSelection:String;

protected function init():void
{
feedService.send();
latestService.send();

}


private function rHandler(event:ResultEvent):void
{

fHolder = event.result.rss.channel.item as ArrayCollection;
rssdetails = event.result.rss.channel.item[0].encoded;
}

private function fHandler(event:FaultEvent):void
{
Alert.show(event.message.toString(),"Error");
}



protected function latestService_resultHandler(event:ResultEvent):void
{

fHolder = event.result.rss.channel.item as ArrayCollection;
rssdetails = event.result.rss.channel.item[0].encoded;
}

protected function rss_clickHandler():void
{
read_story.visible=true;

if(currentState=="rssfeed")
{
rssdetails= rss.selectedItem.description;
}

if(currentState=="beginfeed")
{
rssdetails= rss.selectedItem.encoded;
}


}



protected function getCombofeed_resultHandler(event:ResultEvent):void
{

fHolder = event.result.rss.channel.item as ArrayCollection;

if(currentState=="rssfeed")
{
rssdetails = event.result.rss.channel.item[0].description;
}

if(currentState=="beginfeed")
{
rssdetails = event.result.rss.channel.item[0].encoded;
}




}

protected function rss_selected_closeHandler(event:DropDownEvent):void
{
getCombofeed.send();

yourSelection = rss_selected.selectedItem.label;

if(yourSelection=="blogspot" || yourSelection=="actionscripting")
{
currentState="rssfeed" ;
}

if(yourSelection=="wordpress" || yourSelection=="charag")
{
currentState="beginfeed" ;
}

}

]]>
</fx:Script>
<mx:states>
<s:State name="beginfeed"/>
<s:State name="rssfeed"/>
</mx:states>


<fx:Declarations>


<mx:HTTPService id="feedService" url="http://feeds.feedburner.com/charag/rss" result="rHandler(event)" showBusyCursor="true" />
<mx:HTTPService id="getCombofeed" url="{rss_selected.selectedItem.data}" showBusyCursor="true" result="getCombofeed_resultHandler(event)" />
<mx:HTTPService id="latestService" url="{yourRss.text}" result="latestService_resultHandler(event)" showBusyCursor="true" />

</fx:Declarations>
<s:BorderContainer x="0" y="0" width="750" height="500" backgroundAlpha="0" borderVisible="false"
backgroundAlpha.rssfeed="0.0" backgroundColor.rssfeed="#FF8E8E">
<!-- backgroundColor="#ffc175" -->

<s:DataGrid id="rss" x="7" y="150" width="230" height="288" chromeColor="#ECECEC"
click="rss_clickHandler()" dataProvider="{fHolder}" requestedRowCount="4">
<s:columns>
<s:ArrayList>
<s:GridColumn dataField="title" headerText="Latest Stories"></s:GridColumn>
</s:ArrayList>
</s:columns>


</s:DataGrid>
<mx:TextArea id="contentRss" x="245" y="123" width="500" height="330" borderVisible="false"
contentBackgroundAlpha="0.0" htmlText="{rssdetails}"/>


<s:Button id="read_story" visible="false" x="25" y="450" label="read full story"
chromeColor="#CCCCCC" click="navigateToURL(new URLRequest(rss.selectedItem.link));"
enabled="{rss.selectedItem!=null}" />

<s:Image x="148" y="80" source="assets/Rss-Feed.png"/>

<s:ComboBox id="rss_selected" x="10" y="119" width="131" borderVisible="false"
close="rss_selected_closeHandler(event)"
contentBackgroundAlpha="1.0" dropShadowVisible="false">

<s:ArrayList>
<fx:Object label="charag" data="http://feeds.feedburner.com/charag/rss" />
<fx:Object label="blogspot" data="http://feeds.feedburner.com/asimkh"/>
<fx:Object label="actionscripting" data="http://feeds.feedburner.com/Flash-Adobe"/>
<fx:Object label="wordpress" data="http://feeds.feedburner.com/Charag"/>
</s:ArrayList>

</s:ComboBox>
<s:TextInput id="yourRss" x="261" y="94" width="274" borderAlpha="0.2"
borderVisible="true"/>
<s:Button id="rss_check" x="543" y="94" label="get rsss" click="latestService.send()"
label.rssfeed="get rss"/>
</s:BorderContainer>
</mx:Module>

radio button text font



import fl.controls.RadioButtonGroup;
import fl.controls.Label;

var myFont:Font = new Stylo();
var myTextFormat:TextFormat = new TextFormat();
myTextFormat.font = myFont.fontName;
myTextFormat.size = 16;
myTextFormat.color = 0xFFCC00;;
btnYes.setStyle("embedFonts", true);
btnYes.setStyle("textFormat", myTextFormat);
btnNo.setStyle("embedFonts", true);
btnNo.setStyle("textFormat", myTextFormat);

//answer.visible=false;

btnYes.addEventListener(MouseEvent.CLICK, select_option);
btnNo.addEventListener(MouseEvent.CLICK, select_option);
var option:String;
function select_option(e:MouseEvent):void
{

switch (e.currentTarget)
{

case btnYes:
option = "Yes";
break;

case btnNo:
option = "No";
break;

}
//answer.visible=true;
//trace(option);
answer.myanswer.text = option;
MovieClip(root).play();
}


flash video player



import fl.video.*;

var myVideo:FLVPlayback = new FLVPlayback();
myVideo.width = 720;
myVideo.height = 480;
myVideo.source = "video.flv";
myVideo.skin = "SkinOverAll.swf";
myVideo.skinBackgroundColor = 0x000000;
myVideo.skinBackgroundAlpha = 0.3;
myVideo.skinAutoHide = true;

myVideo.addEventListener(VideoEvent.COMPLETE, completePlay);
function completePlay(e:VideoEvent):void {

myVideo.play();

}

addChild(myVideo);

youtube player











var so = new SWFObject('player.swf','ply','480','270','9','#');
so.addParam('allowfullscreen','true');
so.addParam('allowscriptaccess','always');
so.addVariable('playlistfile','http://gdata.youtube.com/feeds/api/playlists/4705506A8FAF8B01?v=2');
so.addVariable('playlistsize', '150');
so.addVariable('playlist','right');
so.addVariable('repeat','always');
so.addVariable('shuffle','true');
so.write('mediaspace');

Percent %



var text1;
calculate_btn.addEventListener(MouseEvent.CLICK, onButtonClicked);
function onButtonClicked(e:MouseEvent):void
{
text1 = (int(amount_txt.text) * int(perc_txt.text) / 100 );
answer_txt.text = text1;

}

clickTAG

import flash.display.LoaderInfo;
import flash.events.MouseEvent;

click_btn.addEventListener(MouseEvent.CLICK, onButtonClicked);
function onButtonClicked(e:MouseEvent) :void {
if (root.loaderInfo.parameters.clickTAG.substr(0, 5) == "http:")
{
navigateToURL(new URLRequest(LoaderInfo(root.loaderInfo).parameters.clickTAG), "_blank");
}
}

loading external swf in movieclip

var your_r:String = "net.swf";
var url_r:URLRequest = new URLRequest(your_r);
var myLoader_r:Loader = new Loader();
movie_rollup.addChild(myLoader_r);
myLoader_r.load(url_r);

timeline and movieclip parent

btn_ie.addEventListener(MouseEvent.MOUSE_DOWN, click_d);

function click_d(event:MouseEvent):void
{

switch (event.currentTarget)
{

case btn_ie :
MovieClip(this.parent.parent).gotoAndStop("p_r");
MovieClip(this.parent).gotoAndStop(2);
gotoAndStop(2);
break;
}
}

fscommand calling exe in mac and win

import flash.system.fscommand;
import flash.events.MouseEvent;
import flash.system.Capabilities;

btn_pdfnow.addEventListener(MouseEvent.CLICK, open_pdfile);

function open_pdfile(event:MouseEvent):void
{
var os:String = flash.system.Capabilities.os.substr(0, 3);
var url:String;
if(os == "Win"){
url = "file.exe";
}else{
url = "file.app";
}

fscommand("exec",url);
}

calling external xml text

var myXML:XML;
var myLoader:URLLoader = new URLLoader();
myLoader.load(new URLRequest("game_text.xml"));

myLoader.addEventListener(Event.COMPLETE, processXML);

function processXML(e:Event):void {
myXML = new XML(e.target.data);
//trace(myXML.level[1].item.@name[1]);
step1.text = myXML.level[0].@title;
//
text1.text = myXML.level[0].item.@name[0];
text2.text = myXML.level[0].item.@name[1];
text3.text = myXML.level[0].item.@name[2];
text4.text = myXML.level[0].item.@name[3];

}

-?xml version="1.0" encoding="utf-8"?!
-GALLERY!

-level title="Setep 1"!
-item name = "dog"!dog-/item!
-item name = "boy"!dog-/item!
-item name = "cat"!-/item!
-item name = "fish"!-/item!
-/level!
-/GALLERY!

right click disable menu

import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;


function resizeHandler(e:Event):void
{
mySampleMC.x = (mySampleMC.stage.stageWidth / 2) - (mySampleMC.width / 2);
mySampleMC.y = (mySampleMC.stage.stageHeight / 2) - (mySampleMC.height / 2);

mySampleMC_bg.x = (mySampleMC_bg.stage.stageWidth / 2) - (mySampleMC_bg.width / 2);
mySampleMC_bg.y = (mySampleMC_bg.stage.stageHeight / 2) - (mySampleMC_bg.height / 2);
}

stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.addEventListener(Event.RESIZE, resizeHandler);

stage.dispatchEvent(new Event(Event.RESIZE));

var myContextMenu:ContextMenu;



function ContextMenuItemExample()
{

myContextMenu = new ContextMenu();
removeDefaultItems();
addCustomMenuItems();
this.contextMenu = myContextMenu;
}

function removeDefaultItems():void
{
myContextMenu.hideBuiltInItems();

}

function addCustomMenuItems():void
{
var item:ContextMenuItem = new ContextMenuItem("Copyright @ 2011");
myContextMenu.customItems.push(item);
}


ContextMenuItemExample();

Current SWF loader

stop();
import flash.display.*;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.geom.ColorTransform;
import flash.geom.Transform;
import fl.transitions.*;
import fl.transitions.easing.*;

import com.greensock.TweenLite;
import flash.display.MovieClip;
import flash.display.BitmapData;
import flash.display.Bitmap;
var i:uint;
var banner_url:URLRequest;
var myXML:XML = new XML();
var XML_URL:String = "banner_prepaid.xml";

var myXMLURL:URLRequest = new URLRequest(XML_URL);
var myLoader:URLLoader = new URLLoader(myXMLURL);
myLoader.addEventListener("complete", xmlLoaded);

function xmlLoaded(event:Event):void {

myXML = XML(myLoader.data);
var pp0:String = myXML.banner.prepaid[0];
var pp1:String = myXML.banner.prepaid[1];
var pp2:String = myXML.banner.prepaid[2];
var pp3:String = myXML.banner.prepaid[3];
var pp4:String = myXML.banner.prepaid[4];
//trace (banner);

function ContentLink(event:MouseEvent):void
{

switch (event.currentTarget)
{

case s_mc :
banner_url = new URLRequest(pp0);
break;

case y_mc :
banner_url = new URLRequest(pp1);
break;

case p_mc :
banner_url = new URLRequest(pp2);
break;

case t_mc :
banner_url = new URLRequest(pp3);
break;

case tn_mc :
banner_url = new URLRequest(pp4);
break;


}
navigateToURL(banner_url, "_self");
}




var _initPosition:Number;
var maxXDistance:Number = 60;
var maxYDistance:Number = 30;
var maxScale:Number = 1;

var back_ground :yellow = new yellow();
var yellow_bg :bg = new bg();
var pink_bg :pink = new pink();
var green_bg :green = new green();
var dark_bg :dark = new dark();
var purple_bg :purple = new purple();

var bg_image:Bitmap = new Bitmap(back_ground);
var s_image:Bitmap = new Bitmap(yellow_bg);
var y_image:Bitmap = new Bitmap(pink_bg);
var p_image:Bitmap = new Bitmap(green_bg);
var t_image:Bitmap = new Bitmap(dark_bg);
var tn_image:Bitmap = new Bitmap(purple_bg);

//var bg_mc:MovieClip = new MovieClip();
bg_mc.addChild(bg_image);
//addChild(bg_mc);

var myTM:TransitionManager = new TransitionManager(bg_mc);


myTM.startTransition({type:Fade, direction:Transition.IN})

myTM.addEventListener("allTransitionsInDone", doneTrans);
function doneTrans(e:Event):void{
}



//var s_mc:student = new student();
//s_mc.height = 180; s_mc.scaleX = s_mc.scaleY;
//s_mc.x = 160; s_mc.y = 300; addChild(s_mc);
s_mc.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
s_mc.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
s_mc.addEventListener(MouseEvent.CLICK, ContentLink);
s_mc.buttonMode = true;




//var y_mc:young = new young();
//y_mc.height = 180; y_mc.scaleX = y_mc.scaleY;
//y_mc.x = 360; y_mc.y = 300; addChild(y_mc);
y_mc.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
y_mc.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
y_mc.addEventListener(MouseEvent.CLICK, ContentLink);
y_mc.buttonMode = true;

//var p_mc:parent_ = new parent_();
//p_mc.height = 180; p_mc.scaleX = p_mc.scaleY;
//p_mc.x = 560; p_mc.y = 300; addChild(p_mc);
p_mc.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
p_mc.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
p_mc.addEventListener(MouseEvent.CLICK, ContentLink);
p_mc.buttonMode = true;

//var t_mc:traveller = new traveller();
//t_mc.height = 180; t_mc.scaleX = t_mc.scaleY;
//t_mc.x = 760; t_mc.y = 300; addChild(t_mc);
t_mc.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
t_mc.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
t_mc.addEventListener(MouseEvent.CLICK, ContentLink);
t_mc.buttonMode = true;

//var tn_mc:town_ = new town_();
//tn_mc.name = "town";
//tn_mc.height = 180; tn_mc.scaleX = tn_mc.scaleY;
//tn_mc.x = 860; tn_mc.y = 300; addChild(tn_mc);
tn_mc.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
tn_mc.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
tn_mc.addEventListener(MouseEvent.CLICK, ContentLink);
tn_mc.buttonMode = true;



var s_TM:TransitionManager = new TransitionManager(s_mc);
var y_TM:TransitionManager = new TransitionManager(y_mc);
var p_TM:TransitionManager = new TransitionManager(p_mc);
var t_TM:TransitionManager = new TransitionManager(t_mc);
var tn_TM:TransitionManager = new TransitionManager(tn_mc);
var myTween:Tween;
var xTween:Tween;
var yTween:Tween;

function onMouseOver (e:MouseEvent):void
{

switch (e.currentTarget)
{

case s_mc :
bg_mc.addChild(s_image);
//s_TM.startTransition({type:Zoom, direction:Transition.OUT})



break;

case y_mc :
bg_mc.addChild(y_image);
//y_TM.startTransition({type:Zoom, direction:Transition.OUT})
//myTween = new Tween(e.currentTarget, "none",None.easeNone,1,0,2,true);
break;

case p_mc :
bg_mc.addChild(p_image);
//p_TM.startTransition({type:Zoom, direction:Transition.OUT})
//myTween = new Tween(e.currentTarget, "alpha",None.easeNone,1,0,2,true);
break;

case t_mc :
bg_mc.addChild(t_image);
//myTween = new Tween(e.currentTarget, "alpha",None.easeNone,1,0,2,true);
//t_TM.startTransition({type:Zoom, direction:Transition.OUT})
break;

case tn_mc :
bg_mc.addChild(tn_image);
//myTween = new Tween(e.currentTarget, "alpha",None.easeNone,1,0,2,true);
//tn_TM.startTransition({type:Zoom, direction:Transition.OUT})
e.currentTarget.play();
break;

}
e.currentTarget.gotoAndPlay("animate");

var yDistance:Number=Math.abs(parent.mouseY-y);
if(yDistance>maxYDistance){
if(e.currentTarget.x==x) return;
else{
TweenLite.to(e.currentTarget,.1,{x:e.currentTarget.x,scaleX:1,scaleY:1});
return;
}
}

/* var xDistance:Number=parent.mouseX-_initPosition;
xDistance=xDistance>maxXDistance?maxXDistance:xDistance;
xDistance=xDistance<-maxXDistance?-maxXDistance:xDistance;
var posX=_initPosition-xDistance;
var scale:Number=(maxXDistance-Math.abs(xDistance))/maxXDistance;
scale=0.6+(0.6*scale);
TweenLite.to(e.currentTarget,.3,{x:posX,scaleX:scale,scaleY:scale});*/


//var scale:Number = e.currentTarget.scaleX *1.5;


myTM.startTransition({type:Fade, direction:Transition.IN})
//var xTween:Tween = new Tween(e.currentTarget, "scaleX", Regular.easeIn, 0.6, 0.8, 1, true);
//var yTween:Tween = new Tween(e.currentTarget, "scaleY", Regular.easeIn, 0.6, 0.8, 1, true);




}

function onMouseOut (e:MouseEvent):void
{

switch (e.currentTarget)
{

case s_mc :
bg_mc.removeChild(s_image);

break;

case y_mc :
bg_mc.removeChild(y_image);
break;

case p_mc :
bg_mc.removeChild(p_image);
break;

case t_mc :
bg_mc.removeChild(t_image);
break;

case tn_mc :
bg_mc.removeChild(tn_image);
break;



}
//var scale:Number = e.currentTarget.scaleX /1.5;
myTM.startTransition({type:Fade, direction:Transition.IN})
e.currentTarget.gotoAndPlay("animate_roll");
TweenLite.to(e.currentTarget,.1,{x:e.currentTarget.x,scaleX:0.6,scaleY:0.6});


//var xTween:Tween = new Tween(e.currentTarget, "scaleX", Regular.easeOut, 0.8, 0.6, 1, true);
//var yTween:Tween = new Tween(e.currentTarget, "scaleY", Regular.easeOut, 0.8, 0.6, 1, true);
}


var container:MovieClip = new MovieClip();
//container.graphics.beginFill(0xFF0000);
//container.graphics.drawRect(0, 0, 970, 180);
//container.graphics.endFill();
addChild(container);
//container.width = myClipWidth;


}



??xml version="1.0" encoding="utf-8"??
?yourbanner?

?banner name="banner1"?
?prepaid?student.html?/prepaid?
?/banner?

?banner name="banner2"?
?prepaid?adult.html?/prepaid?
?/banner?

?banner name="banner3"?
?prepaid?parents.html?/prepaid?
?/banner?

?banner name="banner4"?
?prepaid?travel.html?/prepaid?
?/banner?

?banner name="banner5"?
?prepaid?town.html?/prepaid?
?/banner?

?/yourbanner?

Stage Display Full

import flash.display.StageDisplayState;
import flash.system.fscommand;
import flash.media.Sound;
import flash.media.SoundChannel;



function GM():void
{

this.stage.scaleMode = StageScaleMode.NO_SCALE;
goFullScreen();
addEventListener(Event.ENTER_FRAME, onEnterFrame);

}

function goFullScreen():void
{
if (stage.displayState == StageDisplayState.NORMAL)
{
stage.displayState = StageDisplayState.FULL_SCREEN;
}/* else {
stage.displayState=StageDisplayState.NORMAL;
}*/
}



GM();
function onEnterFrame(e:Event):void
{
goFullScreen();
}

function ExitControls():void
{

var exit_btn:close_btn = new close_btn();
exit_btn.x = 980;
exit_btn.y = 790;
exit_btn.buttonMode = true;
exit_btn.addEventListener(MouseEvent.MOUSE_DOWN, _handleClick);
addChild(exit_btn);

}
function _handleClick(event:MouseEvent):void
{
fscommand("quit");

}



ExitControls();

Away3D Camera

import away3d.cameras.HoverCamera3D;
import away3d.containers.View3D;
import away3d.materials.ColorMaterial;
import away3d.primitives.Sphere;
import away3d.primitives.Trident;
import away3d.containers.View3D;
import away3d.materials.BitmapMaterial;
import away3d.core.base.Object3D;
import away3d.materials.*;
import away3d.containers.*;
import away3d.materials.BitmapMaterial;
import away3d.materials.EnviroBitmapMaterial;
import away3d.materials.EnviroColorMaterial;
import away3d.materials.PhongBitmapMaterial;
import away3d.materials.TransformBitmapMaterial;
import away3d.materials.utils.SimpleShadow;
import away3d.primitives.Plane;
import away3d.events.MouseEvent3D;
import away3d.materials.MovieMaterial;


import fl.transitions.Tween;
import fl.transitions.easing.*;
import com.greensock.*;
import com.greensock.TweenLite;
import com.greensock.easing.*;

import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.MovieClip;
import flash.text.TextFieldAutoSize;
import flashx.textLayout.formats.BackgroundColor;
import flash.text.TextField;
import flash.display.Sprite;


var GMcamera:HoverCamera3D;
var lastMouseX:Number;
var lastMouseY:Number;
var lastPanAngle:Number;
var lastTiltAngle:Number;
var move:Boolean = false;
var View:View3D;
var group:ObjectContainer3D;
var GMscene:Scene3D;
var labeltitle:TextField;
var pan:Sprite;


var material_01:BitmapFileMaterial;
var material_02:BitmapFileMaterial;
var material_03:BitmapFileMaterial;
var material_04:BitmapFileMaterial;
var material_05:BitmapFileMaterial;
//var ScreenMaterial_01:MovieMaterial;

var myPlane1:Plane;
var myPlane1a:Plane;
var ScreenPlane01:Plane;
var ScreenPlane01a:Plane;

var myPlane2:Plane;
var myPlane2a:Plane;

var Planetarget:Plane;

function GM():void
{

this.stage.scaleMode = StageScaleMode.NO_SCALE;
//this.stage.align = StageAlign.CENTER;

GMscene = new Scene3D();

GMcamera = new HoverCamera3D();
View = new View3D({camera:GMcamera,x:org.x,y:org.y});

addChild(View);
GMcamera.panAngle = 20;
GMcamera.tiltAngle = 10;
//GMcamera.minTiltAngle = -90;
GMcamera.hover(true);



group = new ObjectContainer3D();
View.scene.addChild(group);


// Show the axis
var axis:Trident = new Trident(180);
View.scene.addChild(axis);


addEventListener(Event.ENTER_FRAME, onEnterFrame);
this.stage.addEventListener(MouseEvent.MOUSE_DOWN, MouseDown);
this.stage.addEventListener(MouseEvent.MOUSE_UP, MouseUp);
//this.stage.addEventListener(MouseEvent.MOUSE_UP, MouseOver);

initObjects();
addText();
}


function MouseDown(event:MouseEvent):void
{
lastPanAngle = GMcamera.panAngle;
lastTiltAngle = GMcamera.tiltAngle;
lastMouseX = stage.mouseX;
lastMouseY = stage.mouseY;
move = true;
}

function MouseUp(event:MouseEvent):void
{
move = false;
}

function MouseOver(e:MouseEvent3D):void
{

TweenLite.to(GMcamera, 0.3, { panAngle:0, tiltAngle:0, zoom:10 });
//GMcamera.target = e.target as Object3D;

}

function MouseOut(e:MouseEvent3D):void
{

TweenLite.to(GMcamera, 1, { panAngle:20, tiltAngle:10 ,zoom:8 });
}


function onEnterFrame(e:Event):void
{
goFullScreen();
//TweenLite.to(GMcamera, 0.3, { panAngle:45, tiltAngle:20, scaleX:0.5, scaleY:0.5});
// re-render viewport
var cameraSpeed:Number = 0.3; // Approximately same speed as mouse movement.
if (move) {
GMcamera.panAngle = cameraSpeed*(stage.mouseX - lastMouseX) + lastPanAngle;
GMcamera.tiltAngle = cameraSpeed*(stage.mouseY - lastMouseY) + lastTiltAngle;
}
GMcamera.hover();
View.render();

//labeltitle.text = "Zoom: "+GMcamera.panAngle;
}


function initObjects():void
{

//Material
material_01 = new BitmapFileMaterial("./images/Screen1.jpg");
myPlane1 = new Plane({material:material_01,
x:50,y:50,z:0,
height:350,width:900,
rotationX:90,rotationY:180,
name:"Timepieces"});

myPlane1.bothsides=true;
group.addChild(myPlane1);
myPlane1.addEventListener(MouseEvent3D.MOUSE_OVER, MouseOver);
myPlane1.addEventListener(MouseEvent3D.MOUSE_OUT, MouseOut);
myPlane1a.addEventListener(MouseEvent3D.MOUSE_OVER, MouseOver);
myPlane1a.addEventListener(MouseEvent3D.MOUSE_OUT, MouseOut);



}

function addText():void
{

labeltitle = new TextField();
labeltitle.autoSize = TextFieldAutoSize.LEFT;
var myFont = new verdena();
var txtFormat:TextFormat = new TextFormat();
txtFormat.font = myFont.fontName;
txtFormat.color = 0xFFFFFF;
txtFormat.size = 14;
labeltitle.defaultTextFormat = txtFormat;
labeltitle.width = 85;
labeltitle.x = 5;
labeltitle.y = 5;

pan = new Sprite();
pan.graphics.beginFill(0x000000);
pan.graphics.drawRoundRect(0,0,100,100,10,10);
pan.graphics.endFill();
addChild(pan);

pan.x = 10;
pan.y = stage.width;
pan.addChild(labeltitle);

}

function Screen1():void
{


/* ScreenMaterial_01 = new BitmapFileMaterial("screen1.swf");
var mymovieclip:MovieClip = new MovieClip();
mymovieclip.graphics.beginFill(0xFF0000);
mymovieclip.graphics.drawRect(0, 0, 500, 500);
mymovieclip.graphics.endFill();
mymovieclip.x = 80;
mymovieclip.y = 60;
group.addChild(mymovieclip);

ScreenMaterial_01=new MovieMaterial(mymovieclip);
ScreenPlane01 = new Plane({material:ScreenMaterial_01,width:500,height:500,x:50,y:50,segmentsW:1,segmentsH:1,z:0,rotationX:90,rotationY:180,name:"Timepieces"});
ScreenPlane01a = new Plane({material:material_01,x:50,y:50,z:0,rotationX:90,name:"Timepieces"});
ScreenPlane01.bothsides=true;

group.addChild(ScreenPlane01);
group.addChild(ScreenPlane01a);

var materialMovie:MovieClip = new causticsMovie() as MovieClip;
var causticsMaterial:MovieMaterial = new MovieMaterial( materialMovie );
var sphere:Sphere = new Sphere({material:causticsMaterial});
view.scene.addChild(sphere);

var mc:MovieClip = new MovieClip();
mc.graphics.beginFill(0xFF0000);
mc.graphics.drawRect(0, 0, 100, 80);
mc.graphics.endFill();
mc.x = 80;
mc.y = 60;
group.addChild(mc);*/

}

GM();


//Full Screen
import flash.display.StageDisplayState;

function goFullScreen():void
{
if (stage.displayState == StageDisplayState.NORMAL) {
stage.displayState=StageDisplayState.FULL_SCREEN;
}/* else {
stage.displayState=StageDisplayState.NORMAL;
}*/
}



import flash.system.fscommand;
var exit_btn:close_btn = new close_btn();
exit_btn.x = 450;
exit_btn.y = 743;
exit_btn.buttonMode = true;
exit_btn.addEventListener(MouseEvent.MOUSE_DOWN, _handleClick)
addChild(exit_btn);

function _handleClick(event:MouseEvent):void
{
fscommand("quit");

}

rollover menu dock mac

import flash.display.*;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.geom.ColorTransform;
import flash.geom.Transform;
import fl.transitions.*;
import fl.transitions.easing.*;

var back_ground :yellow = new yellow();
var yellow_bg :bg = new bg();
var pink_bg :pink = new pink();
var green_bg :green = new green();
var dark_bg :dark = new dark();
var purple_bg :purple = new purple();

var bg_image:Bitmap = new Bitmap(back_ground);
var s_image:Bitmap = new Bitmap(yellow_bg);
var y_image:Bitmap = new Bitmap(pink_bg);
var p_image:Bitmap = new Bitmap(green_bg);
var t_image:Bitmap = new Bitmap(dark_bg);
var tn_image:Bitmap = new Bitmap(purple_bg);

var bg_mc:MovieClip = new MovieClip();
bg_mc.addChild(bg_image);
addChild(bg_mc);

var myTM:TransitionManager = new TransitionManager(bg_mc);


myTM.startTransition({type:Fade, direction:Transition.IN})

myTM.addEventListener("allTransitionsInDone", doneTrans);
function doneTrans(e:Event):void{
}



var s_mc:student = new student();
s_mc.height = 180; s_mc.scaleX = s_mc.scaleY;
s_mc.x = 34; s_mc.y = 214; addChild(s_mc);
s_mc.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
s_mc.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
s_mc.buttonMode = true;




var y_mc:young = new young();
y_mc.height = 180; y_mc.scaleX = y_mc.scaleY;
y_mc.x = 217; y_mc.y = 214; addChild(y_mc);
y_mc.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
y_mc.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
y_mc.buttonMode = true;

var p_mc:parent_ = new parent_();
p_mc.height = 180; p_mc.scaleX = p_mc.scaleY;
p_mc.x = 400; p_mc.y = 214; addChild(p_mc);
p_mc.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
p_mc.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
p_mc.buttonMode = true;

var t_mc:traveller = new traveller();
t_mc.height = 180; t_mc.scaleX = t_mc.scaleY;
t_mc.x = 585; t_mc.y = 214; addChild(t_mc);
t_mc.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
t_mc.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
t_mc.buttonMode = true;

var tn_mc:town_ = new town_();
tn_mc.name = "town";
tn_mc.height = 180; tn_mc.scaleX = tn_mc.scaleY;
tn_mc.x = 768; tn_mc.y = 214; addChild(tn_mc);
tn_mc.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
tn_mc.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
tn_mc.buttonMode = true;



var s_TM:TransitionManager = new TransitionManager(s_mc);
var y_TM:TransitionManager = new TransitionManager(y_mc);
var p_TM:TransitionManager = new TransitionManager(p_mc);
var t_TM:TransitionManager = new TransitionManager(t_mc);
var tn_TM:TransitionManager = new TransitionManager(tn_mc);
var myTween:Tween;
var xTween:Tween;
var yTween:Tween;

function onMouseOver (e:MouseEvent):void
{

switch (e.currentTarget)
{

case s_mc :
bg_mc.addChild(s_image);
//s_TM.startTransition({type:Zoom, direction:Transition.OUT})



break;

case y_mc :
bg_mc.addChild(y_image);
//y_TM.startTransition({type:Zoom, direction:Transition.OUT})
//myTween = new Tween(e.currentTarget, "none",None.easeNone,1,0,2,true);
break;

case p_mc :
bg_mc.addChild(p_image);
//p_TM.startTransition({type:Zoom, direction:Transition.OUT})
//myTween = new Tween(e.currentTarget, "alpha",None.easeNone,1,0,2,true);
break;

case t_mc :
bg_mc.addChild(t_image);
//myTween = new Tween(e.currentTarget, "alpha",None.easeNone,1,0,2,true);
//t_TM.startTransition({type:Zoom, direction:Transition.OUT})
break;

case tn_mc :
bg_mc.addChild(tn_image);
//myTween = new Tween(e.currentTarget, "alpha",None.easeNone,1,0,2,true);
//tn_TM.startTransition({type:Zoom, direction:Transition.OUT})
e.currentTarget.play();
break;

}
//var scale:Number = e.currentTarget.scaleX *1.5;
myTM.startTransition({type:Fade, direction:Transition.IN})
var xTween:Tween = new Tween(e.currentTarget, "scaleX", Regular.easeIn, 0.6, 0.8, 1, true);
var yTween:Tween = new Tween(e.currentTarget, "scaleY", Regular.easeIn, 0.6, 0.8, 1, true);
e.currentTarget.gotoAndPlay("animate");



}

function onMouseOut (e:MouseEvent):void
{

switch (e.currentTarget)
{

case s_mc :
bg_mc.removeChild(s_image);

break;

case y_mc :
bg_mc.removeChild(y_image);
break;

case p_mc :
bg_mc.removeChild(p_image);
break;

case t_mc :
bg_mc.removeChild(t_image);
break;

case tn_mc :
bg_mc.removeChild(tn_image);
break;



}
//var scale:Number = e.currentTarget.scaleX /1.5;
myTM.startTransition({type:Fade, direction:Transition.IN})
e.currentTarget.gotoAndPlay("animate_roll");
var xTween:Tween = new Tween(e.currentTarget, "scaleX", Regular.easeOut, 0.8, 0.6, 1, true);
var yTween:Tween = new Tween(e.currentTarget, "scaleY", Regular.easeOut, 0.8, 0.6, 1, true);
}


var container:MovieClip = new MovieClip();
//container.graphics.beginFill(0xFF0000);
//container.graphics.drawRect(0, 0, 970, 180);
//container.graphics.endFill();
addChild(container);
//container.width = myClipWidth;



/*var myArray = new Array();
myArray = ["student", "young", "parent_", "traveller", "town"];

var myClipWidth:int=0;
var myClipHeight:int=0;

var nextX:int =35;
var i:int;
var scrollWidth:int;
var scrollHeight:int;


for (i=0; i
var thumbClip:thumb = new thumb();
thumbClip.height = 118;
thumbClip.width = 118;
thumbClip.x = nextX;
thumbClip.y = 25;

container.addChild(thumbClip);
nextX+=185;
myClipWidth += thumbClip.width+75;
thumbClip.buttonMode = true;



}

container.x = (stage.stageWidth / 2) - (myClipWidth / 2);
//container.y = (stage.stageHeight / 2) - (container.height / 2);
*/

helpful links
http://tutorials.flashmymind.com/2009/02/zoom-website-via-actionscript-3/
http://www.parorrey.com/blog/flash-development/as3-dynamically-create-button-movieclips-and-center-align-container-movieclip-on-stage-in-flash/

Pre Loader / Loading

download AS3
http://www.mediafire.com/?41i2q688jr23p

stop();
loaderInfo.addEventListener(ProgressEvent.PROGRESS, progressListener);
loaderInfo.addEventListener(Event.COMPLETE, completeListener);
function progressListener(e:ProgressEvent):void {
var loaded:Number = e.bytesLoaded / e.bytesTotal;
var percent:int = loaded * 100;

yload.loadN.text = "" + percent + "%";
//loadingBar.scaleX = loaded;
}
function completeListener(e:Event):void {
loaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressListener);
loaderInfo.removeEventListener(Event.COMPLETE, completeListener);
//gotoAndPlay("menu", "Scene 1");
play();
}


------------


//AS2 code

percentageLoaded = Math.round(_root.getBytesLoaded() / _root.getBytesTotal() * 100);
per = int(percentageLoaded);
percentage = per+"%";

if (percentageLoaded == 100) {
gotoAndPlay("Start");
} else {
gotoAndPlay("LoadMore");
}

//Another //<------ AS3 Code ----->

var contentMc:MovieClip;

var myLoader:Loader = new Loader();

myLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressListener);
myLoader.contentLoaderInfo.addEventListener(Event.INIT, initListener);
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeListener);

myLoader.load(new URLRequest("MovieToLoad.swf"));

// loading in progress
function progressListener(event:ProgressEvent):void {

// do something with the preloader
var percentLoaded:Number = event.bytesLoaded/event.bytesTotal;
percentLoaded = Math.round(percentLoaded * 100);
trace("loaded " + percentLoaded.toString()+"%");

// this test is necessary because the content may not be yet initialized
if(contentMc != null) {
trace("Loaded " + contentMc.framesLoaded + " frames of " + contentMc.totalFrames);
} else {
trace("Movie not yet initialized...");
}
}

// content initialized
function initListener (e:Event):void {
// from here I can use the loaded content
contentMc = MovieClip(myLoader.content);
addChild(contentMc);
contentMc.gotoAndStop(1);
trace("Total number of frames: " + contentMc.totalFrames);
}

// loading complete
function completeListener(event:Event):void {
// some code here...
}

Sound play/pause

//AS3 code
download file - http://www.mediafire.com/?gcvx8s16ui2id0z
var pausePoint:Number = 0.00;
var isPlaying:Boolean;
var soundChannel:SoundChannel = new SoundChannel();

var mySound:Sound = new mySong();
isPlaying = true;
soundChannel = mySound.play();
play_btn.addEventListener(MouseEvent.CLICK, MP3_music);

function MP3_music(event:MouseEvent):void {

if (isPlaying) {
pausePoint = soundChannel.position;
soundChannel.stop();
isPlaying = false;

} else {

soundChannel = mySound.play(pausePoint);
isPlaying = true;

}
}


// AS2 code

var snd1mc:MovieClip = this.createEmptyMovieClip("snd1mc",this.getNextHighestDepth());
var rakSound:Sound = new Sound(snd1mc);
rakSound.attachSound("rakbacksound");
rakSound.start(0,999);
rakSound.setVolume(25);

on (release) {
play();
fastsaver_m.play();
btn_stop._visible = true ;
btn_play._visible = false ;
_root.rakSound.start(myMusicPosition,0);
}

on (release) {
stop();
fastsaver_m.stop();
btn_stop._visible = false ;
btn_play._visible = true ;

myMusicPosition=_root.rakSound.position/1000;
_root.rakSound.stop("rakbacksound");

}

easing

import fl.transitions.Tween;
import fl.transitions.easing.*;
import flash.events.MouseEvent;
import flash.events.Event;

var prevX:int = 0;
var curX:int = 0;


var dirX:String = "";
function Start()
{

stage.addEventListener(MouseEvent.MOUSE_MOVE, CheckDirection);

}
Start();



function CheckDirection(e:MouseEvent)
{
var xDirection:String = GetHorizontalDirection();
e.updateAfterEvent();
}


function GetHorizontalDirection():String
{
var myTween:Tween;
curX = mouseX;

if (600 >= curX)
{
myTween = new Tween(buttoni,"x",None.easeOut,buttoni.x,-240,3,true);
}
if (300 <= curX) { myTween = new Tween(buttoni,"x",None.easeIn,buttoni.x,300,3,true); } return dirX; }