[page:EventDispatcher] →

控制器([name])

控制器的抽象基类。

构造函数

[name]( [param:Object3D object], [param:HTMLDOMElement domElement] )

[page:Object3D object] - 控件应该管理的对象(通常是相机)。

[page:HTMLDOMElement domElement]: 用于添加事件侦听器的 HTML 元素。(可选)

创建一个 [name] 实例。

属性

[property:HTMLDOMElement domElement]

用于添加事件侦听器的 HTML 元素。 如果没有在构造函数中提供,[page:.connect]() 必须在 `domElement` 设置后才能调用。

[property:Boolean enabled]

如果设置为 `false`,控制器将不再响应用户设备输入。 默认值为 `true`。

[property:Object keys]

该对象用于定义控制器的键盘输入。 默认值为 `{}`。

[property:Object mouseButtons]

此对象定义分配给可用鼠标按键的操作类型。 支持哪些鼠标按键和操作取决于控制器的具体实现。 默认值为 `{ LEFT: null, MIDDLE: null, RIGHT: null }`。

按键可能为: `LEFT`, `MIDDLE`, `RIGHT`。

可能的操作是定义在 [page:Core Constants] 中。

[property:Object3D object]

由控制器管理的 Object3D 对象。

[property:Integer state]

控制器的内部状态。默认值为 `-1` (`NONE`)。

[property:Object touches]

此对象定义将哪种类型的操作分配给哪种触摸交互。 支持哪种触摸交互和操作取决于控制器的具体实现。 默认值为 `{ ONE: null, TWO: null }`。

可能触摸点操作有: `ONE`, `TWO`.

可能的操作是定义在 [page:Core Constants] 中。

方法

共有方法请参见其基类[page:EventDispatcher]。

[method:undefined connect] ()

将控制器连接到 DOM。此方法具有所谓的“副作用”,因为它将模块的事件侦听器添加到 DOM。

[method:undefined disconnect] ()

断开控制器与 DOM 的连接。

[method:undefined dispose] ()

如果您不再需要使用这些控制器,请调用此方法。它将释放所有内部资源并删除所有事件侦听器。

[method:undefined update] ( [param:Number delta] )

如果控制器必须在每个模拟步骤中更新其内部状态,则应实现此方法。

源代码

[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]