# Xml loops and planes

**URL:** <https://forum.kirupa.com/t/xml-loops-and-planes/276535>\
**Category:** Uncategorized\
**Created:** [November 30, 2008, 11:20am UTC](https://forum.kirupa.com/t/xml-loops-and-planes/276535 "2008-11-30T11:20:02Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![brndn](https://avatars.discourse-cdn.com/v4/letter/b/dec6dc/32.png) [@brndn](https://forum.kirupa.com/u/brndn)\
**Post date:** [November 30, 2008, 11:20am UTC](https://forum.kirupa.com/t/xml-loops-and-planes/276535/1 "2008-11-30T11:20:02Z")

</div>

Hi all  
Can anyone share some light on how I can create these multiple planes using a loop and xml?

Many thanks  
ActionScript Code:

```auto

package
{
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.display.*;
    import flash.events.*;
    import flash.events.*;
    import flash.net.*;
    import flash.utils.*;
    import flash.display.StageDisplayState; 
    import org.papervision3d.cameras.Camera3D;
    import org.papervision3d.materials.BitmapFileMaterial;
    import org.papervision3d.objects.Plane;
    import org.papervision3d.scenes.MovieScene3D;
    import caurina.transitions.Tweener;
    
    public class ExampleCameraHoverType1 extends Sprite
    {
        private var container :Sprite;
        private var scene :MovieScene3D;
        private var camera :Camera3D;
        private var plane1 :Plane;
        private var plane2 :Plane;
private var plane3 :Plane;
private var plane4 :Plane;
private var plane5 :Plane;
private var plane6 :Plane;
private var plane7 :Plane;
private var plane8 :Plane;

        public function ExampleCameraHoverType1()
        {
            container = new Sprite;
            container.x = 200;
            container.y = 200;
            addChild( container );
 // stage.displayState = StageDisplayState.FULL_SCREEN;
                                    
            scene = new MovieScene3D( container );
            camera = new Camera3D();
            camera.z = -500;
            camera.zoom = 3;
            camera.focus = 100;
            

            var loader:URLLoader = new URLLoader()
loader.addEventListener(Event.COMPLETE, onLoadXML)
loader.load(new URLRequest("images.xml"))
function onLoadXML(ev:Event){
   try{
     
        //Convert the downloaded text into an XML
        var myXML:XML = new XML(ev.target.data)
        var list:XMLList = myXML.data.title
        //walks the list and show in textfields
          trace(list);
        for(var i=0; i<list.length(); i++){
            //trace(list*.@name+"-"+list*.comments+" - "+list*.image)
            var L:String = list*.image;
            var material:BitmapFileMaterial = new BitmapFileMaterial(L); 
            material.doubleSided = true;
            material.smooth = true;
        
            //create plane
            this["plane"+i] = new Plane( material, 250, 200, 3, 3);

            // register plane
            scene.addChild( this["plane"+i] );
            
            this["plane"+i].x = 510;
            this["plane"+i].container.addEventListener( MouseEvent.CLICK, onMouseOver );
            
                 
        }
    } catch (e:TypeError){
        //Could not convert the data, probavlu because
        //because is not formated correctly
        trace("Could not parse the XML")
        trace(e.message)
    }
}
            
            
            
            
            
            
            
            
            
            
            
            
            
            // create Bitmap texture
            // please place a "texture.jpg" file to your code root or change the path
            
            
            
            
        
            stage.addEventListener( Event.ENTER_FRAME, onEnterFrame );
            stage.addEventListener( Event.ENTER_FRAME, threeD_Render );

        }

        private function onEnterFrame( event: Event ): void
        {

            // influence the camera with the hover method
            camera.hover(1, (100-mouseX)*.002, (200-mouseY)*.002);
            // render scene
            

        }

private function onMouseOver( event: MouseEvent ): void
        {
            stage.removeEventListener( Event.ENTER_FRAME, onEnterFrame );
            trace("mosiue");
            
            Tweener.addTween(camera, {x:335, y:320, z:-1800, zoom:9, time:1, transition:"easeOutBack"});
            Tweener.addTween(plane2, {x:255, time:1, transition:"easeOutBack"});
//scene.renderCamera( camera );
            // render scene
            
        }
        
        private function threeD_Render( event: Event ): void
        {
        scene.renderCamera( camera );
        
        }
    }
    
}

```
