AS3 papervision3dで等倍表示
- 時間:2009年10月23日 18:51
-
delicious に登録
-
はてブに登録
- トラックバック:(0)
- コメント:(0)
いまさらですがよく昔のファイルを引っ張り出すのでメモ。
_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で等倍表示に対してコメントをする