April 19th, 2009Hello Cube
Y hace mucho pero mucho... cuando todavía... cambiando un poquito, un ejemplo básico de inicio para Papervision3D 2.0, la librería y demás recursos los pueden encontrar en http://papervision3d.googlecode.com y nuestro resultado final será esto:
Para poder empezar y generar nuestro espacio 3d necesitamos de 4 clases básicas para generar el entorno Viewport, Scene3D, Camera3D y BasicRenderEngine.
-
package{
-
-
import flash.display.Sprite;
-
import flash.events.Event;
-
-
import org.papervision3d.scenes.Scene3D;
-
import org.papervision3d.cameras.Camera3D;
-
import org.papervision3d.render.BasicRenderEngine;
-
import org.papervision3d.view.Viewport3D;
-
-
import org.papervision3d.objects.primitives.Cube;
-
import org.papervision3d.materials.utils.MaterialsList;
-
import org.papervision3d.materials.ColorMaterial;
-
-
public class HelloCube extends Sprite{
-
-
private var scene:Scene3D;
-
private var camera:Camera3D;
-
private var renderer:BasicRenderEngine;
-
private var view:Viewport3D;
-
-
private var cube:Cube;
-
-
public function HelloCube():void{
-
super();
-
setupPV3D();
-
//Si eres nuevo, este evento captura cada vez que se entra en un nuevo frame de la pelicula
-
//esto para que cada vez que suceda esto, se refresque el espacio 3d
-
addEventListener(Event.ENTER_FRAME, onEnter);
-
}
-
-
private function setupPV3D():void{
-
//Ahora el elemento que se agrega al stage es el viewport, a diferencia de la version 1.5 recuerdo era la escena
-
scene = new Scene3D();
-
view = new Viewport3D(640, 480, true);
-
addChild(view);
-
renderer = new BasicRenderEngine();
-
camera = new Camera3D(60);
-
-
//Para crear un cubo, se necesita al igual que para todos los objetos el material que compondra su piel
-
//en este caso se utiliza un color solido dentro de una lista de materiales indicando
-
//el material que le corresponde a cada cara del cubo
-
cube = new Cube(new MaterialsList({ front: new ColorMaterial(0x00ccff),
-
left: new ColorMaterial(0xccff00),
-
right: new ColorMaterial(0xffcc00),
-
top: new ColorMaterial(0xff6666),
-
bottom: new ColorMaterial(0x00cc33),
-
back: new ColorMaterial(0xffffcc) }), 300, 300, 300);
-
//Todos los objetos creados son agregados solamente a la escena
-
scene.addChild(cube);
-
-
}
-
-
private function onEnter(e:Event):void{
-
//Rota el objeto en el eje X, el número de grados indicados
-
cube.pitch(3);
-
//Rota el objeto en el eje Y
-
cube.yaw(3);
-
//Generar la imagen de salida para este frame del espacio 3d
-
renderer.renderScene(scene,camera,view);
-
}
-
}
-
}
August 27th, 2009 a las 8:59 am
cokizipirew...
Matthew Maconahay Brazillian Model ...