
Etiquetas: MovieScene3D Cube MaterialsList WireframeMaterial MovieMaterial MovieAssetMaterial BitmapAssetMaterial ColorMaterial BitmapFileMaterial renderCamera
//Importo las clases necesariasimport flash.display.Sprite;
import flash.events.Event;
import org.papervision3d.cameras.Camera3D;
import org.papervision3d.objects.Cube;
import org.papervision3d.scenes.MovieScene3D;
import org.papervision3d.materials.*;
//Defino variablesvar container: Sprite;var scene: MovieScene3D;var camera: Camera3D;
var cubo: Cube;//Esta variables va a contener los nombres de los 6 materiales que voy a utilizar para cada cara del cubovar listaMateriales:MaterialsList = new MaterialsList();
//FUNCIONES//Función inicialfunction Empezar(){
CrearEscena();
CrearCamara();
CrearMatrizMateriales();
CrearCubo();
}//Crea la escena 3Dfunction CrearEscena(){
//Creo un contenedor para la escena y lo coloco en el centro del escenario container = new Sprite;container.x = 200;
container.y = 200;
addChild( container );
//Creo la escena 3D a partir del contenedorscene = new MovieScene3D( container );
}//Creo la cámara que va a "mostrar" la escenafunction CrearCamara(){
//Creo la camara y la "alejo" de la escena para que muestre el cubocamera = new Camera3D();
camera.z = -200;
camera.zoom = 2;
}//Relleno la matriz de materiales. Se puede utilizar rejilla, imágenes, clips, relleno de color, etc....function CrearMatrizMateriales(){
//Creo los materiales //Material del tipo rejilla de color rojovar material1:WireframeMaterial = new WireframeMaterial(0xFF0000);
//Material del tipo MovieClip, con el clip llamado MaterialClip del escenariovar material2:MovieMaterial = new MovieMaterial(MaterialClip);
//Material del tipo MovieClip almacenado en biblioteca. Su Clase debe ser MaterialClipBiblioteca var material3:MovieAssetMaterial = new MovieAssetMaterial("MaterialClipBiblioteca");
//Material del tipo BitMap almacenado en Biblioteca. La clase de vinculacion es árbolvar material4:BitmapAssetMaterial = new BitmapAssetMaterial("arbol");
//Material del tipo ColorMaterial, de color azul. Simplemente especificamos de que color se tiene //que rellenar la caravar material5:ColorMaterial = new ColorMaterial(0x0000FF);
//Material del tipo BitmapFileMaterial, con una imagen externa. Indicamos //La ruta de la imagenvar material6:BitmapFileMaterial = new BitmapFileMaterial("cielo.jpg");
//Creo la lista de materiales para el cubo, indicando que material va en cada caralistaMateriales.addMaterial(material1,"top");
listaMateriales.addMaterial(material2,"bottom");
listaMateriales.addMaterial(material3,"front");
listaMateriales.addMaterial(material4,"back");
listaMateriales.addMaterial(material5,"left");
listaMateriales.addMaterial(material6,"right");
}//Crear el cubofunction CrearCubo(){
//Creo el Cubocubo = new Cube( listaMateriales, 128, 128, 128, 2, 2, 2);
// rotate the cube a bitcubo.rotationX = 35;
cubo.rotationY = 55;
//Añado el cubo al escenarioscene.addChild( cubo );
//Renderizo la escenascene.renderCamera( camera );
addEventListener(Event.ENTER_FRAME,RotarCubo);
}//Función para rotar el cubo. Al acabar de rotar renderizo la escena para que//se visualicen los cambiosfunction RotarCubo(e:Event){
trace("Aqui");
cubo.rotationX+=3;
cubo.rotationY++; cubo.rotationZ++;scene.renderCamera(camera);
}//EjecutamosEmpezar();