# Camera3d

模块 hilo/game/Camera3d 依赖 hilo/core/Class, hilo/util/util 源码 Camera3d.js
Camera3d 伪3D虚拟摄像机。

### 属性概览

| 属性 | 定义于
--- | --- | ---
| fv:Number 镜头视点距离（屏幕视点相对眼睛距离，绝对了坐标缩放比例）。 | Camera3d
| fx:Number 镜头视点X（屏幕视点相对屏幕左上角X距离）。 | Camera3d
| fy:Number 镜头视点Y（屏幕视点相对屏幕左上角Y距离）。 | Camera3d
| rotationX:Number X轴旋转角度。 | Camera3d
| rotationY:Number Y轴旋转角度。 | Camera3d
| rotationZ:Number Z轴旋转角度。 | Camera3d
| stage:Object 3D对象所在容器，可以是stage或container，结合ticker时是必须参数，用来Z深度排序。 | Camera3d
| x:Number 镜头三维坐标x。 | Camera3d
| y:Number 镜头三维坐标y。 | Camera3d
| z:Number 镜头三维坐标z。 | Camera3d

### 方法概览

| 方法 | 定义于
--- | --- | ---
| Camera3d() 构造函数 | Camera3d
| project(vector3D:object, view:View):Object 将三维坐标转换投影为二维坐标。 | Camera3d
| rotateX(angle:Number) 旋转X轴方向角度，相当于欧拉角系统的 beta。 | Camera3d
| rotateY(angle:Number) 旋转Y轴方向角度，相当于欧拉角系统的 gamma。 | Camera3d
| rotateZ(angle:Number) 旋转Z轴方向角度，相当于欧拉角系统的 alpha。 | Camera3d
| sortZ() Z深度排序。 | Camera3d
| tick() Ticker 轮询使用。 | Camera3d
| translate(x:Number, y:Number, z:Number) 仿射矩阵位移变换，不同于直接修改Camera3d.x/y/z. | Camera3d

### 属性详情

fv:Number
镜头视点距离（屏幕视点相对眼睛距离，绝对了坐标缩放比例）。
fx:Number
镜头视点X（屏幕视点相对屏幕左上角X距离）。
fy:Number
镜头视点Y（屏幕视点相对屏幕左上角Y距离）。
rotationX:Number
X轴旋转角度。
rotationY:Number
Y轴旋转角度。
rotationZ:Number
Z轴旋转角度。
stage:Object
3D对象所在容器，可以是stage或container，结合ticker时是必须参数，用来Z深度排序。
x:Number
镜头三维坐标x。
y:Number
镜头三维坐标y。
z:Number
镜头三维坐标z。

### 构造函数

Camera3d()

### 方法详情

project(vector3D:object, view:View):Object
将三维坐标转换投影为二维坐标。

parameters
vector3D:object — 三维坐标对象，必须含有x, y, z属性。
view:View — Hilo.View对象，用于自动转换坐标。

return
  Object — 二维坐标对象，包括缩放和z属性，例子:{x:x, y:y, z:z, scale}

rotateX(angle:Number)
旋转X轴方向角度，相当于欧拉角系统的 beta。

parameters
angle:Number — 旋转角度。

rotateY(angle:Number)
旋转Y轴方向角度，相当于欧拉角系统的 gamma。

parameters
angle:Number — 旋转角度。

rotateZ(angle:Number)
旋转Z轴方向角度，相当于欧拉角系统的 alpha。

parameters
angle:Number — 旋转角度。

sortZ()
Z深度排序。
tick()
Ticker 轮询使用。
translate(x:Number, y:Number, z:Number)
仿射矩阵位移变换，不同于直接修改Camera3d.x/y/z. 是在Camera3d依次做坐标位移 - 旋转变换 后，再加上一个位移变换。主要功能可以做Zoomin/out 功能

parameters
x:Number — x坐标
y:Number — y坐标
z:Number — z坐标