I’m bit unsure how to move some code into my main code. Whether should I use another public, or private, or I just put it in the current public?
Help me pls~:beam:
This is the code I wanted to put in
ActionScript Code:
[LEFT]var imageLoader:Loader;
var xml:XML;
var xmlList:XMLList;
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.load(new URLRequest("gallery/images.xml"));
xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
function xmlLoaded(event:Event):void
{
xml = XML(event.target.data);
xmlList = xml.children();
for(var i:int = 0; i < xmlList.length(); i++)
{
imageLoader = new Loader();
imageLoader.load(new URLRequest(xmlList*.attribute("thumb")));
imageLoader.x = 25;
imageLoader.y = i * 150 + 25;
addChild(imageLoader);
}
}
[/LEFT]
And here my is main code.
[FONT=Courier New][LEFT]
package {
import flash.display.Sprite;
import org.papervision3d.view.*;
import org.papervision3d.scenes.*;
import org.papervision3d.render.*;
import org.papervision3d.cameras.*;
import org.papervision3d.materials.*;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.objects.primitives.*;
public class pv3d extends Sprite {
private var viewport:Viewport3D;
private var scene:Scene3D;
private var camera:Camera3D;
private var renderer:BasicRenderEngine;
//----------------------------------------------------------------------------------------
private var cube:Cube;
private var p:Plane;
//----------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------
public function pv3d():void {
//viewport = new BasicRenderEngine(width, height, scaleToStage, interactive);
viewport=new Viewport3D(800,600,true,true);
addChild(viewport);
//instantiates a Scene3D instance
scene=new Scene3D ;
//instantiates a Camera3D instance
var camera=new Camera3D;
camera.zoom=10;
camera.y = -2000;
//renderer draws the scene to the stage
renderer=new BasicRenderEngine ;
//----------------------------------------------------------------------------------------
var base:MovieAssetMaterial=new MovieAssetMaterial("platform");
base.oneSide=false;
base.smooth=true;
//----------------------------------------------------------------------------------------
//primitive = new Plane(material applied to object, width, height, wSegments, hSegments);
p=new Plane(base,1000,750,3,3);
p.x = 0;
p.y = 0;
p.z = 0;
scene.addChild(p);
//----------------------------------------------------------------------------------------
i tried to place it here but failed. We can not have functions under public?
//----------------------------------------------------------------------------------------
var materials:MaterialsList = new MaterialsList(
{
front: new MovieAssetMaterial( "surFront", false, true ),
back: new MovieAssetMaterial( "surBack", false, true ),
right: new MovieAssetMaterial( "surRight", false, true ),
left: new MovieAssetMaterial( "surLeft", false, true ),
top: new MovieAssetMaterial( "surTop", false, true ),
bottom: new MovieAssetMaterial( "surBottom" , false, true)
} );
var surfaceArray:Array = ["front","back","right","left","top","bottom"];
//load into surfaceArrat[0]
for (var i:Number=0; i<20; i++) {
for (var j:Number = 0; j<surfaceArray.length; j++) {
cube = new Cube( materials, 40, 5, 42, 10, 10, 10 );
cube.name = "cube" + i;// set instance name
trace(cube);
cube.x=Math.random() * 980 - 480;
cube.y=Math.random() * 730 - 350;
cube.z = -70;
cube.rotationZ=Math.random() * 360;
p.addChild( cube );
}
}
//----------------------------------------------------------------------------------------
renderer.renderScene(scene,camera,viewport);
}
}
}
[/LEFT]
[/FONT]