BasicView
Description
BasicView is a scene, camera, viewport, and renderer together in one class.
Example
Extend BasicView
Instructions
- Import
import org.papervision3d.view.BasicView;
- Call
super(viewportWidth, viewportHeight, scaleToStage, interactive, cameraType);
Parameter Default Description viewportWidth 640 viewport width viewportHeight 480 viewport height scaleToStage true set viewport size to stage size interactive false listen for mouse events cameraType "Target" "Target" | "Free" | "Debug" | "Spring" "Target" - camera with target x:0 y:0 z:0 "Free" - camera without target "Debug" - camera with mouse/keyboard control and display information "Spring" - camera with spring effect - Listen
startRendering();
- Handle
override protected function onRenderTick(e:Event=null):void {} - Render
super.onRenderTick(e);
Code
package
{
import flash.events.Event;
import org.papervision3d.events.InteractiveScene3DEvent;
import org.papervision3d.materials.ColorMaterial;
import org.papervision3d.objects.primitives.Plane;
import org.papervision3d.view.BasicView;
public class Papervision3DBasicViewExtension extends BasicView
{
private var material :ColorMaterial;
private var object :Plane;
public function Papervision3DBasicViewExtension()
{
super(640, 480, true, true, "Target");
material = new ColorMaterial(0x000000);
material.doubleSided = true;
material.interactive = true;
object = new Plane(material);
scene.addChild(object);
object.addEventListener(InteractiveScene3DEvent.OBJECT_OVER, handleObjectOver);
object.addEventListener(InteractiveScene3DEvent.OBJECT_OUT, handleObjectOut);
object.addEventListener(InteractiveScene3DEvent.OBJECT_PRESS, handleObjectPress);
startRendering();
//or
//addEventListener(Event.ENTER_FRAME, handleEnterFrame);
}
override protected function onRenderTick(e:Event=null):void
//or
//private function handleEnterFrame(e:Event):void
{
object.yaw(1);
super.onRenderTick(e);
//or
//singleRender();
//or
//renderer.renderScene(scene, camera, viewport);
}
private function handleObjectOver(e:InteractiveScene3DEvent):void
{
viewport.containerSprite.buttonMode = true;
}
private function handleObjectOut(e:InteractiveScene3DEvent):void
{
viewport.containerSprite.buttonMode = false;
}
private function handleObjectPress(e:InteractiveScene3DEvent):void
{
material.fillColor = Math.random() * 0xFFFFFF;
}
}
}Extend Sprite
Instructions
- Import
import org.papervision3d.view.BasicView;
- Declare
private var view :BasicView;
- Initialize
view = new BasicView(viewportWidth, viewportHeight, scaleToStage, interactive, cameraType);
Parameter Default Description viewportWidth 640 viewport width viewportHeight 480 viewport height scaleToStage true set viewport size to stage size interactive false listen for mouse events cameraType "Target" "Target" | "Free" | "Debug" | "Spring" "Target" - camera with target x:0 y:0 z:0 "Free" - camera without target "Debug" - camera with mouse/keyboard control and display information "Spring" - camera with spring effect - Add
addChild(view);
- Render
view.singleRender();
Code
package
{
import flash.display.Sprite;
import flash.events.Event;
import org.papervision3d.events.InteractiveScene3DEvent;
import org.papervision3d.materials.ColorMaterial;
import org.papervision3d.objects.primitives.Plane;
import org.papervision3d.view.BasicView;
public class Papervision3DBasicView extends Sprite
{
private var view :BasicView;
private var material :ColorMaterial;
private var object :Plane;
public function Papervision3DBasicView()
{
view = new BasicView(640, 480, true, true, "Target");
addChild(view);
material = new ColorMaterial(0x000000);
material.doubleSided = true;
material.interactive = true;
object = new Plane(material);
view.scene.addChild(object);
object.addEventListener(InteractiveScene3DEvent.OBJECT_OVER, handleObjectOver);
object.addEventListener(InteractiveScene3DEvent.OBJECT_OUT, handleObjectOut);
object.addEventListener(InteractiveScene3DEvent.OBJECT_PRESS, handleObjectPress);
addEventListener(Event.ENTER_FRAME, handleEnterFrame);
}
private function handleEnterFrame(e:Event):void
{
object.yaw(1);
view.singleRender();
//or
//view.renderer.renderScene(view.scene, view.camera, view.viewport);
}
private function handleObjectOver(e:InteractiveScene3DEvent):void
{
view.viewport.containerSprite.buttonMode = true;
}
private function handleObjectOut(e:InteractiveScene3DEvent):void
{
view.viewport.containerSprite.buttonMode = false;
}
private function handleObjectPress(e:InteractiveScene3DEvent):void
{
material.fillColor = Math.random() * 0xFFFFFF;
}
}
}