new CameraControlComponent()
相机控制器。
Extends
Members
-
active :boolean
-
激活或停用组件。
- Overrides:
-
app :THING.App
-
获取应用程序。
- Overrides:
-
autoAdjustInstanceOffset :boolean
-
开启/禁用 自动修正实例偏移
Example
let camera = THING.App.current.camera; camera.autoAdjustInstanceOffset = false; // @expect(camera.autoAdjustInstanceOffset == false); -
boundary :BoundingBoxResult
-
设置/获取 相机的target位置的包围盒
Example
let camera = THING.App.current.camera; let center = [10,10,10]; let halfSize = [20,20,20]; let boundary = {center, halfSize}; camera.boundary = boundary; // @expect(camera.boundary.center[0] == 10 && camera.boundary.halfSize[0] == 20); -
dampingFactor :number
-
设置/获取 惯性系数
Example
let camera = THING.App.current.camera; camera.dampingFactor = 10; // @expect(camera.dampingFactor == 10); -
distanceLimited :Array.<(number|null)>
-
相机距离限制 null代表无限制
Example
let camera = THING.App.current.camera; camera.distanceLimited = [10,1000]; // @expect(camera.distanceLimited[0] == 10 && camera.distanceLimited[1] == 1000); -
enable :boolean
-
开启/禁用控制器
Example
let camera = THING.App.current.camera; camera.enable = false; // @expect(camera.enable == false) -
enableAdjustNear :boolean
-
开启/禁用 自动校正近剪裁面
Example
let camera = THING.App.current.camera; camera.enableAdjustNear = false; // @expect(camera.enableAdjustNear == false) -
enableAdjustPanSpeed :boolean
-
开启/禁用 自动校正平移速度
Example
let camera = THING.App.current.camera; camera.enableAdjustPanSpeed = false; // @expect(camera.enableAdjustPanSpeed == false); -
enableAdjustTargetPosition :boolean
-
开启/禁用 自动校正target(地球相机模式下需禁用)
Example
let camera = THING.App.current.camera; camera.enableAdjustTargetPosition = false; // @expect(camera.enableAdjustTargetPosition == false) -
enableAutoMoveTargetForward :boolean
-
开启/禁用 自动向前移动target?
Example
let camera = THING.App.current.camera; camera.enableAutoMoveTargetForward = false; // @expect(camera.enableAutoMoveTargetForward == false) -
enableDamping :boolean
-
开启/禁用 惯性
Example
let camera = THING.App.current.camera; camera.enableDamping = false; // @expect(camera.enableDamping == false); -
enableKeyboardControl :boolean
-
开启/禁用 键盘控制
Example
let camera = THING.App.current.camera; camera.enableKeyboardControl = false; // @expect(camera.enableKeyboardControl == false); -
enableMapControl :boolean
-
开启/禁用 类似地图操作习惯的模式 左键平移右键旋转
Example
THING.App.current.camera.enableMapControl = true; // @expect(THING.App.current.camera.enableMapControl == true); -
enablePan :boolean
-
开启/禁用 平移
Example
let camera = THING.App.current.camera; camera.enablePan = false; // @expect(camera.enablePan == false); -
enablePickWhenChanging :boolean
-
相机改变时是否开启pick
Example
let camera = THING.App.current.camera; camera.enablePickWhenChanging = false; // @expect(camera.enablePickWhenChanging == false); -
enableRotate :boolean
-
开启/禁用 旋转
Example
let camera = THING.App.current.camera; camera.enableRotate = false; // @expect(camera.enableRotate == false); -
enableZoom :boolean
-
开启/禁用 缩放
Example
let camera = THING.App.current.camera; camera.enableZoom = false; // @expect(camera.enableZoom == false); -
enableZoomToMouseCursorOnWheel :boolean
-
开启/禁用 按照鼠标位置缩放(指哪儿打哪儿)
Example
let camera = THING.App.current.camera; camera.enableZoomToMouseCursorOnWheel = false; // @expect(camera.enableZoomToMouseCursorOnWheel == false); -
horzAngleLimit :Array.<number>
-
限制相机水平角
Example
let camera = THING.App.current.camera; camera.horzAngleLimit = [10,100]; // @expect(camera.horzAngleLimit[0] == 10 && camera.horzAngleLimit[1] == 100); -
isChanging :boolean
-
相机的位置,旋转角度是否在变化
Example
let camera = THING.App.current.camera; camera.pan(0, -50); // @expect(camera.isChanging == true) -
keyPanSpeed :number
-
设置/获取 键盘平移速度
Example
let camera = THING.App.current.camera; camera.keyPanSpeed = 10; // @expect(camera.keyPanSpeed == 10); -
mode :CameraMode
-
设置相机模式 在THING.EARTH创建的地图上使用THING.CameraMode.Map 在非地图使用THING.CameraMode.Normal
Example
app.camera.mode = THING.CameraMode.Map; app.camera.mode = THING.CameraMode.Normal; -
object :THING.BaseObject
-
获取对象。
- Overrides:
-
onActiveChange :OnActiveChangeComponentCallback
-
活动状态改变时的回调函数。
- Overrides:
-
onAfterAdd :OnAfterAddComponentCallback
-
添加之后。
- Overrides:
-
onAfterAddChild :OnAddChildComponentCallback
-
添加子对象之后的回调函数。
- Overrides:
-
onAfterRemove :OnAfterRemoveComponentCallback
-
移除之后。
- Overrides:
-
onAfterRemoveChild :OnRemoveChildComponentCallback
-
移除子对象之后的回调函数。
- Overrides:
-
onBeforeAdd :OnBeforeAddComponentCallback
-
添加之前。
- Overrides:
-
onBeforeAddChild :OnAddChildComponentCallback
-
添加子对象之前的回调函数。
- Overrides:
-
onBeforeRemove :OnBeforeRemoveComponentCallback
-
移除之前。
- Overrides:
-
onBeforeRemoveChild :OnRemoveChildComponentCallback
-
移除子对象之前的回调函数。
- Overrides:
-
onCopy :OnCopyComponentCallback
-
复制时的回调函数。
- Overrides:
-
onInit :OnInitComponentCallback
-
初始化时的回调函数。
- Overrides:
-
onLoadResource :OnLoadResourceComponentCallback
-
加载资源时的回调函数。
- Overrides:
-
onParentChange :OnParentChangeComponentCallback
-
改变父对象时的回调函数。
- Overrides:
-
onRefresh :OnRefreshComponentCallback
-
刷新时的回调函数。
- Overrides:
-
onResize :OnResizeComponentCallback
-
调整大小时的回调函数。
- Overrides:
-
onUnloadResource :OnUnloadResourceComponentCallback
-
卸载资源时的回调函数。
- Overrides:
-
onUpdate :OnUpdateComponentCallback
-
更新时的回调函数。
- Overrides:
-
onVisibleChange :OnVisibleChangeComponentCallback
-
可见性改变时的回调函数。
- Overrides:
-
panSpeed :number
-
设置/获取 平移速度(鼠标,触屏)
Example
let camera = THING.App.current.camera; camera.panSpeed = 10; // @expect(camera.panSpeed == 10); -
rotateSpeed :number
-
设置/获取 旋转速度
Example
let camera = THING.App.current.camera; camera.rotateSpeed = 10; // @expect(camera.rotateSpeed == 10); -
screenSpacePanning :boolean
-
设置/获取 相机是否在屏幕空间平移True表示平移操作基于屏幕,否则表示基于相机的Y轴方向。默认值为true。
Example
let camera = THING.App.current.camera; camera.screenSpacePanning = false; // @expect(camera.screenSpacePanning == false); -
target :Array.<number>
-
设置/获取 相机目标点位置(世界坐标系)
Example
let camera = THING.App.current.camera; camera.target = [10,10,10]; // @expect(camera.target[0] == 10 && camera.target[1] == 10 && camera.target[2] == 10); -
upDirection :Array.<number>
-
设置/获取 相机的up方向
Example
let camera = THING.App.current.camera; camera.upDirection = [10,10,10]; // @expect(camera.upDirection[0] == 10 && camera.upDirection[1] == 10 && camera.upDirection[2] == 10); -
vertAngleLimit :Array.<number>
-
限制相机竖直角
Example
let camera = THING.App.current.camera; camera.vertAngleLimit = [10,100]; // @expect(camera.vertAngleLimit[0] == 10 && camera.vertAngleLimit[1] == 100); -
zoomSpeed :number
-
设置/获取 缩放速度
Example
let camera = THING.App.current.camera; camera.zoomSpeed = 10; // @expect(camera.zoomSpeed == 10); -
zoomToMouseCursorOnWheelSpeed :number
-
获取/设置鼠标滚轮缩放时的速度因子。
Example
let camera = THING.App.current.camera; camera.zoomToMouseCursorOnWheelSpeed = 10; // @expect(camera.zoomToMouseCursorOnWheelSpeed == 10);
Methods
-
onAdd(object)
-
当添加组件时。
Parameters:
Name Type Description objectTHING.BaseObject 对象。 - Overrides:
-
onRemove()
-
当移除组件时。
- Overrides:
-
pan(deltaX, deltaY, durationopt)
-
在屏幕空间平移
Parameters:
Name Type Attributes Default Description deltaXnumber 屏幕空间x方向的偏移量 deltaYnumber 屏幕空间y方向的偏移量 durationnumber <optional>
500 时间(毫秒) Example
// Move camera with bottom direction app.camera.pan(0, -50); -
zoom(distance, param, options)
-
相机向前或向后移动 (放大或缩小)
Parameters:
Name Type Description distancenumber 相机向前(+)或向后(-)移动的距离 paramobject 参数 Properties
Name Type Attributes Default Description durationnumber <optional>
500 时间 updateTargetboolean <optional>
true 是否更新相机的target options