2007-12-08 | 22:45
PaperVision3D 2.0の最小サンプル
package { import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.Event; import org.papervision3d.cameras.FreeCamera3D; import org.papervision3d.lights.PointLight3D; import org.papervision3d.materials.ColorMaterial; import org.papervision3d.materials.utils.MaterialsList; import org.papervision3d.objects.DisplayObject3D; import org.papervision3d.objects.primitives.Cube; import org.papervision3d.objects.primitives.Plane; import org.papervision3d.render.BasicRenderEngine; import org.papervision3d.scenes.Scene3D; import org.papervision3d.view.Viewport3D; [SWF(backgroundColor="0x000000", width="500", height="300", frameRate="30")] public class PVHW extends Sprite { private var renderer:BasicRenderEngine private var scene:Scene3D; private var camera:FreeCamera3D; private var viewport:Viewport3D; // 3d Objects private var pointLight:PointLight3D; public function PVHW() { stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; renderer = new BasicRenderEngine(); scene = new Scene3D(); camera = new FreeCamera3D(); viewport = new Viewport3D(0, 0, true, false); addChild(viewport); camera.z = -400; camera.focus = 1100; camera.zoom = 1; var cube:Cube =new Cube(new MaterialsList({all:new ColorMaterial(0xff0000)}),200,200,200,1,1,1); cube.y = 200; scene.addChild(cube); var plane:Plane = new Plane(new ColorMaterial(0xffffff),500,500,10,10); plane.pitch(90); scene.addChild(plane); stage.addEventListener(Event.ENTER_FRAME, handleEnterFrame); } private function handleEnterFrame(e:Event):void { camera.x=camera.y=camera.z=0; camera.yaw(.5); camera.moveBackward(1000); camera.moveUp(200); renderer.renderScene(scene, camera, viewport); } } }
スポンサーサイト
Comment
Post a comment