[PR] WEB制作会社PSYCOMMU

as3

AS3 papervision3dで等倍表示

いまさらですがよく昔のファイルを引っ張り出すのでメモ。

_camera = new Camera3D();
_camera.zoom = 11;
_camera.focus = 100;
_camera.z = -1100;

上記がミソ。
なんかよく分からないが魔法の公式という事で丸暗記。

【サンプルswf】

きちんとグレイのplaneが100×100で表示されております。

【asソース】

package {
	
	import flash.display.*;
	import flash.events.*;
	
	import org.papervision3d.cameras.*;
	import org.papervision3d.materials.*;
	import org.papervision3d.materials.utils.*;
	import org.papervision3d.objects.primitives.*;
	import org.papervision3d.render.*;
	import org.papervision3d.scenes.*;
	import org.papervision3d.view.*;
	import org.papervision3d.objects.*;
	
	public class Sample20091023 extends Sprite {
		
		private var _scene:Scene3D;//シーン(3D空間)
		private var _camera:Camera3D;//カメラ
		private var _viewport:Viewport3D;//ビューポート
		private var _renderer:BasicRenderEngine;//描画エンジン
		private var _plane:Plane;
			
		public function Sample20091023() {
			
			stage.scaleMode=StageScaleMode.NO_SCALE;
			stage.align = StageAlign.TOP_LEFT;
			
			_init();
		
		}
		
		private function _init():void {
			
			_scene = new Scene3D();
			
			_camera = new Camera3D();
			_camera.zoom = 11;
			_camera.focus = 100;
			_camera.z = -1100;
			
			_viewport = new Viewport3D(stage.stageWidth, stage.stageHeight,true);
			addChild(_viewport);
			
			var material:ColorMaterial = new ColorMaterial(0x666666,1,true); 
			
			_plane = new Plane( material, 100, 100, 1, 1 ); 
			_scene.addChild( _plane );
			
			_renderer = new BasicRenderEngine();
			
			addEventListener(Event.ENTER_FRAME, _onEnterFrameHandler);
		}
		
		private function _onEnterFrameHandler(event:Event):void {
			_renderer.renderScene(_scene, _camera, _viewport);
		}
		
	}
}

AS3 papervision3dで等倍表示に対してコメントをする

Copyright 2009 PANDAMA. All rights reserved.
PANDAMA.com 掲載の記事・写真・図表など無断転載を禁止します。著作権はPANDAMA.comに属します。