Title
Description
Body Say I have an XML file that I want to load: <code> <slideshow width="400" height="400" speed="2"> <image url="images/image1.jpg" title="Market Walk" /> <image url="images/image2.jpg" title="History" /> <image url="images/image3.jpg" title="Ying Yang" /> <image url="images/image4.jpg" title="Kid Youth" /> <image url="images/image5.jpg" title="Heart of Spice" /> <image url="images/image6.jpg" title="Elissa" /> <image url="images/image7.jpg" title="Silver Secret" /> <image url="images/image8.jpg" title="Endless Mountains" /> <image url="images/image9.jpg" title="Light of Hope" /> <image url="images/image10.jpg" title="Bored?" /> </slideshow></code> I can access the data using the following code: <pre><code> package { import flash.display.*; import flash.events.*; import flash.net.*; import flash.text.*; import fl.transitions.Tween; import fl.transitions.easing.*; public class Slideshow extends Sprite { // XML gallery data private var xmlString:String; private var xmlURL:String; private var xmlData:XML; private var urlLoader:URLLoader; // slideshow attributes private var slideshowWidth:Number; private var slideshowHeight:Number; private var slideshowSpeed:Number; // slideshow images private var images:XMLList; private var imagesNum:uint; // container private var container:Box; // constructor public function Slideshow () { loadXML("slideshow.xml"); } // load XML private function loadXML (xmlURL:String):void { var urlRequest:URLRequest = new URLRequest(xmlURL); urlLoader = new URLLoader(); urlLoader.addEventListener(Event.COMPLETE, loadXMLListener); urlLoader.load(urlRequest); } // event listener private function loadXMLListener(e:Event):void { xmlData = new XML(urlLoader.data); // slideshow attributes slideshowWidth = Number(xmlData.@width); slideshowHeight = Number(xmlData.@height); slideshowSpeed = Number(xmlData.@speed); // slideshow images images = xmlData.child("image"); imagesNum = images.length(); createContainer(); displayText(); } private function displayText():void { // list images as a string var imagesText:String = "Images:"; for (var i:uint = 0; i < imagesNum; i++) { var imageNum:uint = i; var imageURL:String = images[i].@url; var imageLabel:String = "Image " + imageNum; imagesText += "\n" + imageLabel + ": " + imageURL + stage.width; } // display XML in a text box on the stage addTextBox(slideshowWidth + ", " + slideshowHeight + ", " + slideshowSpeed + "\n" + imagesText + "\nNumber of images: " + imagesNum); } // create container private function createContainer ():void { container = new Box (slideshowWidth, slideshowHeight, 0xFFFFFF); container.x = (stage.stageWidth - container.width) / 2; container.y = (stage.stageHeight - container.height) / 2; addChild(container); transition(); } private function transition ():void { new Tween(container, "alpha", None.easeInOut, 0, 100, slideshowSpeed * 100, true); } // create text box to display XML on stage public function addTextBox(string:String):void { var string:String; var textBox:TextField = new TextField(); var format:TextFormat = new TextFormat(); format.font = "Arial"; format.size = 15; format.color = 0x000000; textBox.text = string; textBox.setTextFormat(format); textBox.autoSize = TextFieldAutoSize.LEFT; addChild(textBox); } } }</code></pre>
Section Tutorials Contact Journal About Home
Category Applications Design History Ideas Technology
Tags
Date
DesignProjectX | The digital sandbox of Stephen Bau