fc2ブログ

[ActionScript 3.0] PaperVision3D 2.0 GreatWhite

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);
		}

	}
}
スポンサーサイト



Trackback


この記事にトラックバックする(FC2ブログユーザー)

Papervision3D 2.0 Alpha Great White

ついに Papervision3D も次のステージを迎えたんですね。 いよいよシェードもかかるようになったようで、こいつが Away3D を統合したってやつですか。 でリポジトリの中身を見...

Papervision3D 2.0 \"Great White\"

Papervision3Dが大幅アップデートで2.0(コード名:Gr...

Papervision3D の平面に外部 swf をロード

寺井です。Papervision3D のバージョン 2.0:別名「GreatW...

Comment

Post a comment

Secret