Hi all
Can anyone share some light on how I can create these multiple planes using a loop and xml?
Many thanks
ActionScript Code:
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 );
}
}
}