[AS]papervision3d Basicviewについて
BasicViewクラスの中身をなんとなくメモ
(親クラスのAbstractViewも少しだけ)
まず、BasicViewが継承してるのは、AbstractView。
(AbstractViewはSpriteを継承してる)
BasicViewのコンストラクタの引数で初期値を渡す。
ちなみに何も入れなくてもデフォルト値が設定されてるのでOK。
BasicView(viewportWidth:Number = 640, viewportHeight:Number = 480, scaleToStage:Boolean = true, interactive:Boolean = false, cameraType:String = "Target")
BasicViewのコンストラクタの中では、scene,viewport,renderを作っている。
scene = new Scene3D(); viewport = new Viewport3D(viewportWidth, viewportHeight, scaleToStage, interactive); addChild(viewport); renderer = new BasicRenderEngine();
cameraTypeによって、どんなカメラを使うか決めてる。
(引数設定しないときはcamera3Dになる)
_cameraは、AbstractViewで定義されている。
switch(cameraType) { case CameraType.DEBUG: _camera = new DebugCamera3D(viewport); break; case CameraType.TARGET: _camera = new Camera3D(60); _camera.target = DisplayObject3D.ZERO; break; case CameraType.SPRING: _camera = new SpringCamera3D(); _camera.target = DisplayObject3D.ZERO; break; case CameraType.FREE: default: _camera = new Camera3D(60); break; }
コンストラクタの最後では、viewportのサイズでcameraの初期化してるってことかな?
cameraAsCamera3D.update(viewport.sizeRectangle);
Tweet