[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