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
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
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坐标