package {
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.navigateToURL;
import flash.text.TextFieldAutoSize;
//transition import classes
import fl.transitions.Tween;
import fl.transitions.easing.*;
public class DocumentClass extends Sprite {
private var urlLoader:URLLoader;
private var urlRequest:URLRequest;
private var xml:XML;
private var xmlList:XMLList;
private var newFormat:TextFormat;
private var containerArray:Array = new Array();
public function DocumentClass():void {
urlLoader = new URLLoader();
urlRequest = new URLRequest();
urlRequest.url = 'bc.xml';
urlLoader.addEventListener(Event.COMPLETE, onXMLLoaded);
urlLoader.load(urlRequest);
}
private function onXMLLoaded(evt:Event):void {
var widthValue:Number;
var spacer:Number = 10;
var startPos:Number = 0;
xml = new XML(evt.target.data);
xmlList = new XMLList(xml.item);
newFormat = new TextFormat();
newFormat.color = 0x666666;
newFormat.font = "Verdana";
newFormat.size = 14;
newFormat.underline = false;
for (var i:int = 0; i < xmlList.length(); i++) {
var container:MovieClip = new MovieClip();
addChild(container);
container.mouseChildren = false;
container.buttonMode = true;
var tf:TextField = new TextField();
tf.text = xmlList[i].title;
tf.setTextFormat(newFormat);
tf.autoSize = TextFieldAutoSize.CENTER;
tf.border = true;
tf.borderColor = 0x000000;
tf.background = true;
tf.x = startPos;
tf.y = 10;
widthValue = tf.width;
container.path = xmlList[i].path;
//put contents of container(xml.path.title) into separate containerArray
containerArray.push(container);
container.addChild(tf);
container.addEventListener(MouseEvent.MOUSE_DOWN, onSDown);
//keeps the elements evenly spaced on stage
startPos = startPos + (widthValue + spacer);
}
//tween the MovieClips in the containerArray
animate();
//trace out the amount of item in each array
trace(xmlList.length());
trace(containerArray.length);
}
private function animate():void {
var myTween:Tween;
var startPos:int = -100;
var j:int = 0;
while (j < containerArray.length) {
myTween = new Tween(containerArray[j],"x",Strong.easeOut,(startPos - (j * 100)),0,.5,true);
j++
}
}
private function onSDown(evt:MouseEvent):void {
var linkReq:URLRequest = new URLRequest(evt.target.path);
navigateToURL(linkReq, '_self');
trace(String(evt.target.path));
evt.updateAfterEvent();
}
}
}
|